Я разработчик Rails, работающий над TDD на Mac с RSpec, Capybara и Selenium webdriver. Теперь моя компания попросила меня использовать этот подход для среды .NET в Windows. Каков наилучший способ сделать это?
Я мог бы просто установить Ruby и использовать веб-драйверы RSPEC, Capybara и Selenium для интеграционного тестирования. Но как насчет юнит-тестов? Я также посмотрел на NSpec , но я не уверен, что смогу совместить это с Capybara или Selenium для интеграционных тестов.
Что было бы хорошим подходом здесь?
Ответы:
Это проблема в двух частях.
С точки зрения функционального / интеграционного тестирования, когда вы управляете программным обеспечением извне, тогда любой из этих подходов является действительным, здесь рассматривается набор навыков тех, кто создает и поддерживает тесты. В целом, я вижу тенденцию к знакомству с языком, используемым для инструментов (test / build / что угодно), как наиболее важную вещь, если вы не хотите в конечном итоге иметь одного эксперта в предметной области, от которого зависит команда.
Однако для модульного тестирования это должно быть то, что работает в среде разработки .NET - xUnit (или nUnit, но я больше предпочитаю xUnit) - это «обычный» выбор, но я не вижу причин не использовать NSpec.
Если вы хотите перейти на все .NET, то Coypu был вдохновлен Capybara
источник
Я бы отказался от Ruby и пошел бы с nUnit, SpecFlow и Selenium WebDriver для модульных, интеграционных и UI-тестов, если продукт написан на .net. Кроме того, я бы поменял макинтош на машину с Windows.
Я знаю, что можно смешивать языки и платформы, и я написал тесты ruby для продуктов .net. Но это будет немного проще, если вы используете один и тот же стек для всего.
Вы можете добавить свои тестовые проекты в одно и то же решение и полностью исключить один и тот же процесс сборки. Разработчики смогут запускать тесты из визуальной студии с помощью пары кликов. Плюс это новый навык в вашем резюме.
Но, прежде всего, не нужно беспокоиться о необходимости установки дополнительных продуктов, поиска сторонних компонентов, которые заставляют их играть вместе, и поддержании сложного процесса CI.
источник