DI внутри библиотеки. Где регистрировать типы?
От: xk Россия  
Дата: 16.01.11 18:16
Оценка:
Доброго времени суток!

Разрабатываю ASP.NET Web Forms Application и захотелось мне автоматизировать тестирование страницы регистрации.
Взял в одну руку CassiniDev в качестве in-process веб-сервера, в другую Selenium в качестве тестирующего фреймворка.

Все отлично, тесты проверяющие работу валидации введеных данных работают на ура.
Но вот беда: в качестве последнего шага валидации нового пользователя система отсылает введенные данные стороннему
сервису и успешность регистрации зависит от того, что нам ответит этот сервис.

Я столкнулся с проблемой: а как мне в данной ситуации сделать подмену этого сервиса? Т.е. я хочу протестировать
два кейса: первый — сервер ответил утвердительно, второй — сервер ответил отрицательно.

Внимательно прочел цикл постов Design of Selenium tests for ASP.NET, порылся в поисковике, но ответа не нашел.


Этот сторонний сервис обернут моим классом, ссылку на него страница получает через Dependency injection.
У меня пока только одна идея: для каждого кейса написать свой веб-конфиг, где будут сконфигурированы зависимости.
В одном случае будет фиктивный сервис, который всегда отвечает положительно, в другом отрицательно. И эти веб-конфиги подсовывать
при старте. Вообщем мучительный способ .
Re: Подмена служб при web-тестировании в ASP.NET
От: xk Россия  
Дата: 16.01.11 18:20
Оценка:
Не тот субж для топика.

Вот подходящий: Подмена служб при web-тестировании в ASP.NET
Re: DI внутри библиотеки. Где регистрировать типы?
От: ulu http://sm-art.biz
Дата: 17.01.11 08:35
Оценка:
Selenium тут использовать сложно, т.к. он пашет в другом процессе, и, следовательно, не сможет подменить тебе класс. Тут выхода два (не взаимоисключающих). Либо тестировать начинку, не затрагивая UI слоя. Либо использовать тул под названием Ivonna, но это обойдется в $$. Если заинтересует, пиши, расскажу подробнее.

ulu

Здравствуйте, xk, Вы писали:

xk>Доброго времени суток!


xk>Разрабатываю ASP.NET Web Forms Application и захотелось мне автоматизировать тестирование страницы регистрации.

xk>Взял в одну руку CassiniDev в качестве in-process веб-сервера, в другую Selenium в качестве тестирующего фреймворка.

xk>Все отлично, тесты проверяющие работу валидации введеных данных работают на ура.

xk>Но вот беда: в качестве последнего шага валидации нового пользователя система отсылает введенные данные стороннему
xk>сервису и успешность регистрации зависит от того, что нам ответит этот сервис.

xk>Я столкнулся с проблемой: а как мне в данной ситуации сделать подмену этого сервиса? Т.е. я хочу протестировать

xk>два кейса: первый — сервер ответил утвердительно, второй — сервер ответил отрицательно.

xk>Внимательно прочел цикл постов Design of Selenium tests for ASP.NET, порылся в поисковике, но ответа не нашел.



xk>Этот сторонний сервис обернут моим классом, ссылку на него страница получает через Dependency injection.

xk>У меня пока только одна идея: для каждого кейса написать свой веб-конфиг, где будут сконфигурированы зависимости.
xk>В одном случае будет фиктивный сервис, который всегда отвечает положительно, в другом отрицательно. И эти веб-конфиги подсовывать
xk>при старте. Вообщем мучительный способ .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.