Как я могу кодировать модульное тестирование в csharp
Я изучаю модульное тестирование и запрашиваю образец кода c# для проекта https://github.com/alialavia/MSINet и это подскажет мне, что делать.
Что я уже пробовал:
до сих пор не могу определить, какие методы включить в тест, а какие оставить.
F-ES Sitecore
Этот код не может быть модульно протестирован, это в основном статические методы и никакая абстракция, чтобы отделить код\логику от внешних зависимостей, таких как msi.dll.
Member 11239384
я имел в виду проект, а не приведенный пример кода.
F-ES Sitecore
Я говорил о проекте (тот, что в github)
Member 11239384
вы открылись в visual studio?а как насчет enumerate() в классе installproprty?
F-ES Sitecore
Вы не можете проверить его, потому что он вызывает MSI.EnumerateGUIDs, который полагается на msi.dll и перечисляет установленные продукты на любом ПК, на котором он находится. Модульные тесты тестируют логику и должны быть автономными. Единственная логика в этом коде - это функция EnumerateGUIDs, которую вряд ли стоит тестировать. Также невозможно узнать, что сделал этот метод, потому что вы не можете внедрить свои собственные services \ data в класс, поскольку он не был написан таким образом, чтобы его поддерживать. Вы не можете проверить результаты, каков результат? Результат будет разным на каждой машине, на которой он запущен. Наконец, для любой среды, в которой вы запускаете эти тесты, потребуется установленный msi.dll, который будет работать с учетом учетной записи пользователя, запускающей тесты.
Member 11239384
любой метод там, который может быть tested.in какая-то часть проекта?