Евгений Колесников hace 4 años
padre
commit
697765cd5a
Se han modificado 1 ficheros con 9 adiciones y 3 borrados
  1. 9 3
      articles/fake_unit_test.md

+ 9 - 3
articles/fake_unit_test.md

@@ -12,8 +12,14 @@
 
 В экосистеме Microsoft есть возможность создавать поддельное (fake) окружение, но эта фича доступна только в Enterprise версии и нам недоступна. Поэтому окружение мы будем симулировать данными поддельного провайдера данных.
 
-1. В наше решение ("список продукции") добавим проект UNIT-тестов и добавим в него ссылку на основной проект
+Чтобы поддельные данные можно было использовать не только при тестировании, но и в основном приложении, слой данных выделим в библиотеку классов
 
-2. В проекте UNIT-теста создадим класс FakeDataProvider, реализующий наш IDataProvider, в котором реализуем методы возвращая поддельные данные.
+1. Вынесите все классы модели, а также класс **Global** и интерфейс **IDataProvider** в библиотеку классов **DataProviderLib** (проект создавайте в этом же решении)
 
-3. После реализации **FakeDateProvider** напишите тесты для добавления и удаления продукции. При инициализации тестов Globals.DataProvider присваиваем наш FakeDateProvider.
+2. В основной проект добавьте ссылку на созданную библиотеку.
+
+3. Бизнес-логику удаления/добавления записей перенестие в классы моделей.
+
+4. Добавьте в решение ещё одну библиотеку классов **FakeDataProviderLib**, в которой реализуйте класс FakeDataProvider, наследующий интерфейс **IDataProvider** (соответственно, в неё тоже нужно добавить ссылку на **DataProviderLib**)
+
+5. В решение добавьте проект UNIT-тестов и добавьте в него ссылки на библиотеки **DataProviderLib** и **FakeDataProviderLib**. Напишите тесты для добавления и удаления продукции. При инициализации тестов Globals.DataProvider присваиваем наш FakeDateProvider.