Testare il mapping di Entity Framework

di Marco De Sanctis, in ORM,

Una delle necessità più sentite quando si lavora con Entity Framework (ma in generale, con qualsiasi ORM) è quella di capire se il mapping, realizzato a manina o tramite il designer, sia scritto correttamente oppure no. Prendendo spunto da ciò che esiste già per NHibernate, ma sviluppandolo completamente da zero in TDD, sto lavorando a EF Mapping Verifier, una libreria che consente di testare la corretta persistenza delle entity con una sintassi semplice ed intuitiva:

using(new TransactionScope()) 
{ 
  VerifyMapping.For<customer>(new MyObjectContext()) 
      .Test(c => c.Id, 1) 
      .Test(c => c.Name, "Marco") 
      .Execute(); 
}</customer>

Tramite lambda expression, insomma, è possibile impostare i dati voluti sulla entity da testare (in questo caso Customer); VerifyMapping utilizza questi dati per costruire un'istanza di Customer, la salva su database, successivamente la recupera e verifica che i valori delle proprietà corrispondano. Se circondiamo il tutto con un TransactionScope senza invocarne il metodo Complete, i test divengono atomici e indipendenti, dato che non viene mai effettuato il commit della transazione.

Attualmente si tratta di una pre-pre-release, molto limitata, che non gestisce ancora le relazioni tra entity, ad esempio. Ma è un work-in-progress, conto di pubblicare aggiornamenti presto, ed in particolare:

  • Test delle relazioni 1-to-many e many-to-1
  • Supporto a Entity Framework 4.0
  • Supporto a entità POCO

Il download lo trovate, come al solito, nel lab.

Come dice il Mostarda, stay tuned (se avete pazienza!)

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese