Work: webrunner for NUnit tests

Uncategorized Add comments

Хочется странного.

Есть набор юнит тестов (nunit) на C#, которые на самом деле не юнит, а вовсе даже acceptance/functional tests. Есть также желание их запускать через web. Нету только возможности. В стандартной поставке nunit есть GUI runner, есть консольный runner, а вот ASPX runner-a нету.

Покопавшись в интернете я нашёл некий runit 2.4.2, даже вместе с исходниками. Как и следовало ожидать, работать он отказался. Сначала жаловался на несоответствие assembly-ей, потом, после пересборки из исходников стал имитировать работу, рисовать web интерфейс, но тесты всё равно не запускает. Говорит – TestFixtureSetUp exception и всё тут. Пол дня воскресенья убил, уже наверно мог своё написать… Сдался, выкинул runit, а проблема всё равно осталась.

Можно конечно в CruiseControl.NET подцепить, как проект без исходников и артефактов, но как-то оно там не к месту вроде…

В общем рынок поразительно пуст – для functional tests предлагаются монстры вроде QEngine, QTP и прочего. На другом конце спектра питоновский twill. А по-середине – ничего нет. А делов-то! REST API протестировать, куда уж проще.

Справедливости ради, стоит заметить, что с Java было бы ничуть не легче. Я поначалу нашёл замечательный RestClient (с исходниками) Обрадовался ужас как, думал – вот оно торжество разума над Microsoft, даже поучаствовал в коллективной разработке и дописал command line interface туда. Но по зрелому размышлению, если отринуть красивое GUI, это ничуть не лучше nunit тестов, а даже и хуже:

  • программистам придётся писать на Java, в то время как основной проект на С#
  • web gui все равно нет
  • дебага нет, статической проверки ошибок нет, IDE нет
  • добавил туда поддержку JSON (30 минут) код теста с assert-ами разросся, начал добавлять поддержку XML посмотрел на размер тестов, ужаснулся

В общем так и докатился до nunit тестов.

Как народ функциональное тестирование REST API организует – ума не приложу, похоже никак, или на коленке пишет что-то своё.

Share

Comments are closed.

Entries RSS Comments RSS Log in Admin