TDD с Entity, подигравайки се на генерираните Entity класове?

Моите извинения, прочетох този пост:

TDD и ADO.NET Entity Framework

Но не мисля, че покрива това, което търся и други подобни въпроси изглеждат без отговор. Така че, извинете ме, ако това вече е отговорено.

Имам молба, която пиша. Създадох някои класове Entity. Искам да се подигравам на това по време на тестване на единица, тъй като вярвам, че внедряването на MS е достатъчно добро, за да оправдае пропускането на тестването му. =-}

И така, първото ми предположение:

Вземете генерирания клас, извличащ ObjectContext, и генерирайте интерфейс от него за свойствата за четене, които връщат ObjectQuery и методите Add (на този етап не се тревожа за актуализирането на съществуващи обекти, а само за четене). Въпреки това, бързо се натъкнах на проблеми по време на тестването, тъй като не можах лесно да накарам свойствата на ObjectQuery да работят добре.

Видях публикацията на The Wayward Weblog за правене на нещо подобно на това, но с Linq към SQL и просто повдига въпроса, никой ли не е измислил по-добър начин да се подиграе с рамката на Entity от този?!

Благодаря!


person Matthew Bonig    schedule 16.02.2009    source източник


Отговори (2)


Изчакайте EF v2.0 (една година може би повече) или преминете към NHibernate. Избрах втората опция (не е лесна, но пълна поддръжка на TDD и без ограничения на базата данни).

person twk    schedule 04.03.2009
comment
Съгласен съм, всъщност сега използвам Fluent NHibernate и съм доста доволен от него спрямо EF. Жалко обаче, че обикновено е по-лесно да продавате на клиентите да използват MS технология, отколкото OS технология. - person Matthew Bonig; 10.03.2009
comment
Някои хора винаги ще бъдат фенове на M$. Просто им напомнете, че повечето уеб сървъри са с отворен код. IMHO, OS технологията определено е пътят напред. Големият плюс с OpenSource е, че мога да премина през кода, ако някога потенциално причини проблем. Винаги се досещам или разчитам на (понякога фалшива) документация с M$, плюс те обичат да променят API, сякаш предишната версия никога не е съществувала. За щастие сега има много страхотни OS .net проекти. nHibernate е един от тях. - person gef; 04.08.2009

Така че приемам, че няма отговор на това. За съжаление, след много гугъл, не мисля, че EF наистина поддържа TDD подход към разработката, което е абсолютен срам. Време е да приемете nHibernate, звучи така.

person Matthew Bonig    schedule 25.02.2009
comment
Гласувах против този отговор, защото има начини за прилагане на TDD с EF. Вижте отговора ми по-долу (stackoverflow.com/a/23598940/3481183). - person Believe2014; 12.05.2014
comment
Благодаря, че съборихте отговор, който беше зададен преди 5 години за различна версия на EF. - person Matthew Bonig; 22.05.2014
comment
За съжаление все още е активен в Stack Overflow и аз правя TDD от години с EF. - person Believe2014; 22.05.2014
comment
хей, това е твоята репутация, добре с мен. Зарязах EF преди много време за много по-добри решения. =-} - person Matthew Bonig; 22.05.2014
comment
Имахте предвид NHibernate? - person Believe2014; 22.05.2014
comment
Да, мисля, че NH е по-добър, но също така до голяма степен се пренасочва към NoSQL решения. - person Matthew Bonig; 22.05.2014
comment
Вие сте толкова елегантни и късметлии, че имате такъв лукс, за да изберете techy. - person Believe2014; 22.05.2014
comment
Нека продължим тази дискусия в чата. - person Matthew Bonig; 22.05.2014