xUnit и описание тестов в xml
От: Аноним  
Дата: 15.12.13 19:54
Оценка:
Есть некий интерфейс

public interface IMyInterface
{
   public string Method1(  string param );
}


и есть множество классов которые его реализуют.

MyInterfaceClass1, MyInterfaceClass2 и т.д.


Хотелось бы сделать описание входных/выходных результатов в Xml. Например так

<Method1TestCases>
  <TestCase name="Metho1 Case1">
           <Input>
              <param>1</param>
           </Input>
           <Output>
               2
           </Output>
  </TestCase>
</Method1TestCases>


При этом чтобы данные тесты отображались списком в runner в виде обычной иерархии ( как это получается в случае обычного кода ).
Чтобы можно было описать различные кейсы, assert и т.д.
Можно ли это сделать готовыми средствами или нужно велосипед делать
Re: xUnit и описание тестов в xml
От: Marduk Великобритания  
Дата: 16.12.13 04:57
Оценка: 3 (1)
Здравствуйте, Аноним, Вы писали:

А>Есть некий интерфейс

...
А>Можно ли это сделать готовыми средствами или нужно велосипед делать

Частично это делается готовыми средствами. В частности в NUnit есть вот такая штука и пример оттуда:

[Test, TestCaseSource("DivideCases")]
public void DivideTest(int n, int d, int q)
{
    Assert.AreEqual( q, n / d );
}

static object[] DivideCases =
{
    new object[] { 12, 3, 4 },
    new object[] { 12, 2, 6 },
    new object[] { 12, 4, 3 } 
};


Вместо явно указанных значений в некотором массиве вы можете десериализовать XML в нужную вам структуру и возвращать ее. То есть по сути надо только добавить код, который будет вычитывать этот самый XML.

Но это пример для NUnit-a. Для Java есть такой движок как TestNG, у которого можно задавать набор тестов в виде XML в том числе и с параметрами. При этом есть аннотация DataProvider, для которой надо указать ссылку на объект, откуда брать данные

Для JUnit есть еще Parametrized Tests
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.