#methods #testing #mbunit
#методы #тестирование #mbunit
Вопрос:
Есть ли в MbUnit способ вызывать один и тот же тест несколько раз с разными параметрами в последовательности как таковой:
Метод1() Метод2(параметр A) Метод3() Метод2(параметр B) Метод4() Метод2 (параметрC)
и т.д.? Я пытался использовать параметр Order, но, к сожалению, я слишком надеялся, что порядок будет рассматриваться в масштабах всего класса, а не теста (1,2,3,4,5,6 в отличие от 1,2a, 2b, 2c, 3, 4).
Ответ №1:
Можете ли вы объяснить причины, по которым это необходимо? Похоже, у вас есть зависимости между вашими методами тестирования, что в целом не является хорошим способом написания тестового кода.
Если вам нужно, чтобы что-то вызывалось в определенной последовательности, то почему бы просто не предоставить это как единый тестовый метод, который вызывает определенные подметоды в порядке по вашему выбору?
Комментарии:
1. Я создаю набор тестов с использованием WatiN для проверки распространенных привычек использования сайта на веб-сайте. Я подумал, что было бы полезно создать «служебный» метод, который запускает секундомер, переводит браузер на определенный URL-адрес и определяет время загрузки страницы. Тогда я бы просто вызвал этот метод вместо того, чтобы набирать несколько строк каждый раз, когда мне нужно перейти на другую страницу. В любом случае, я думаю, что решил это с помощью StaticTestFactory. Я немного подумал об устранении зависимости, но я не слишком разбираюсь в C amp; P’ing коде, который мог бы использоваться в нескольких тестовых классах, но, похоже, мне придется это сделать.
2. Мое общее предложение для написания веб-тестового кода (с использованием WatiN, Selenium или аналогичного) заключается в использовании шаблона PageObjects ( code.google.com/p/selenium/wiki/PageObjects ), это поможет вам свести к минимуму любые c amp; p и сделать код более управляемым.
3. Большое вам спасибо, этот шаблон — блестящая идея.