Domanda

Ho appena iniziato un nuovo progetto usando nHibernate e Fluent per la mappatura. L'architetto mi ha inviato un database dal quale ho generato diverse centinaia di classi di entità e i corrispondenti file di mappatura fluente. So che questo non è il modo DDD ideale per fare le cose, ma la vita raramente è l'ideale.

Quello che voglio fare è verificare che tutti i mapping siano corretti, che le colonne siano mappate correttamente, OneToMany, ManyToMany ecc. Esiste un modo automatico o semplice per farlo? Ho considerato solo la scrittura di un semplice repository che carica un record da ogni entità e si assicura che non venga sollevata alcuna eccezione, ma la maggior parte delle tabelle non contiene ancora dati.

È stato utile?

Soluzione

Dai un'occhiata alla PersistenceSpecification in NHibernate fluido . È quasi perfetto, ma gestisce bene molti casi semplici.

Altri suggerimenti

Per testare le mappature ORM, una strategia che ho usato per risparmiare ore di lavoro prevede l'utilizzo di un approccio di test di riga nei test unitari, come l'attributo RowTest in MBUnit o NUnit. Questo ti eviterà di scrivere test unitari individuali per valori di riga distinti. dai un'occhiata a questo webcast per un rapido avvio.

Per quanto riguarda il database è possibile seguire 2 strategie: Se è necessario eseguire il test in un'istanza o un motore DB specifico, è possibile utilizzare le transazioni e assicurarsi che tutte le scritture sul DB vengano ripristinate dopo le asserzioni. Se è possibile utilizzare la propria istanza e il proprio motore, è possibile utilizzare SQLLite o SQL CE come DB di unit test. Poiché questo DB verrà utilizzato solo nei test unitari, è sempre possibile creare un DB nuovissimo ogni volta che si eseguono i test unitari.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top