модульное тестирование ef datamodel - PullRequest
0 голосов
/ 21 января 2011

В свободное время я работаю над личным проектом на c #.До этого я не проводил никаких модульных тестов, но я понял, что пришло время учиться, поэтому я прочитал пару уроков / блогов и установил NUnit и Testdriven.Net в VS2010, и я думаю, что теперь я понял основы.

В моем проекте используется модель данных, которую я создал с помощью EF4.Я также создал репозиторий для извлечения данных, и теперь я хочу протестировать этот репозиторий.Как мне это проверить?Можно ли как-то избежать вызовов в базу данных каждый раз, когда я хочу протестировать метод в репозитории?

cheers

Ответы [ 2 ]

1 голос
/ 21 января 2011

определяет интерфейс IRepository.иметь реальную реализацию, которая использует базу данных.имеет поддельную реализацию, которая возвращает фиктивные объекты для модульного тестирования

0 голосов
/ 23 января 2011

Вы также можете использовать фальшивые фреймворки для создания «поддельных» версий ваших репозиториев. Moq - это тот, который я использую очень часто.По сути, вы пишете код для фальшивых возвращаемых значений ваших репозиториев на основе конфигурации ...

var mock = new Mock<YourObject>();
mock.Setup(m => m.DoSomething().Returns(true));
var result = mock.Object.DoSomething();
Assert.IsTrue(result);

Вот хороший учебник по началу запуска с Moq Стивеном Вальтером.

...