Поиск гибкого метода для создания тестов - PullRequest
0 голосов
/ 16 мая 2011

Я на самом деле тестирую веб-сервис в сети. Работа с юнит-тестерами, такими как Nunit и Gallio.

На самом деле у меня проблема. Я хочу протестировать сервис, где мне нужно заполнить много данных в HTML, например, формуляр. И проблема в том, что я делаю это, редактируя XML вручную, чтобы делать тесты ... это слишком трудоемко и тяжело, и потому я ищу гибкий метод, чтобы сделать это.

Мой начальник сказал мне сделать формуляр, где я могу заполнить все поля, такие как html, а затем создать xml с этим. Это более эффективно, чем редактирование базового XML вручную.

Есть инструмент, который может мне помочь?

Извините за мой плохой английский.

Ответы [ 3 ]

0 голосов
/ 17 мая 2011

Может быть, сборщики тестовых данных могли бы работать на вас? Вы могли бы писать классы, чтобы Вы могли писать в своих тестах

var xml = new WebServiceCallBuilder()
             .WithDefaultValues()              // this sets most common options
             .WithParamX("something")          // which You can then modify
             .WithParamY("something other")
             .WithParamZ("another thing")
             .Build();

var result = webService.Call(xml);

Вы также можете реализовать построитель тестовых данных, чтобы он включал такие вещи, как


var xyzBuilder = new WebServiceCallBuilder()
                 .WithDefaultValues()
                 .WithParamX("x")
                 .WithParamY("y")
                 .WithParamZ("z");
var xyzXml = xyzBuilder.Build();

// let's say now You want similar builder but with different Z param
// then You can do this to not copy/paste/modify code above
var xyzzzBuilder = new WebServiceCallBuilder(xyzBuilder)
                      .WithParamZ("zzz");
var xyzzzXml = xyzzzBuilder.Build();

Я бы, наверное, использовал это.

0 голосов
/ 18 мая 2011

Мы решили не проводить модульное тестирование нашего кода через веб-сервис из-за усилий, связанных с издевательством над средой и запросами http.

Вместо этого мы перемещаем как можно большую часть нашего кода в «основной» компонент , который не зависит от веб-инфраструктуры (в нашем случае ASP.NET, поэтому «ядро» имеетнет ссылки на сборки, такие как System.Web).

Код, который зависит от веб-фреймворка, остается в «веб-компоненте» .Мы стараемся сохранить его как можно меньшим - он обычно обрабатывает аутентификацию, авторизацию, переводит запрос и вызывает соответствующую функциональность в «ядре» для его обработки.

Мы пытаемся провести тестирование открытого интерфейса с модулем на «ядре».'полностью, но мы не пытаемся провести модульное тестирование веб-интерфейса.Мы планируем протестировать «сеть» с использованием другого вида автоматизированного теста.

0 голосов
/ 16 мая 2011

Вы должны попробовать либо Селен , либо Фитнес .

...