Тесты FitNesse с объектами в качестве параметров

У меня возникли проблемы с написанием теста FitNesse для моего приложения.

Сам по себе тест довольно прост.

Мы устанавливаем кредит, он имеет несколько свойств (основной, проценты, сборы).

Есть еще один объект Rules, который содержит свойства для погашения кредита.

В классе Loan есть метод SplitLoan, который принимает объект Rules и возвращает список платежей, которые необходимо произвести.

Платеж будет содержать общую сумму, а также отдельные суммы основной суммы, процентов и сборов.

Как записать это как тест в FitNesse?

Я даже не могу вызвать вызов, потому что не знаю, как настроить объект Rules, который передается в функцию SplitLoan.


person CaffGeek    schedule 06.08.2013    source источник


Ответы (2)


Я не уверен, что это работает в C#, но я знаю, что SLIM поддерживает помещение ссылки на объект в символ. Вы можете использовать одну фикстуру для создания объекта Rules, получить ссылку на нее, а затем передать символ в другую фикстуру, которая нуждается в нем в качестве входных данных.

http://fitnesse.org/FitNesse.SuiteAcceptanceTests.SuiteSlimTests.SlimSymbolCanHoldInstanceUsedAsParameter

В качестве альтернативы, если вы не хотите (или не можете) получить ссылку на объект и сохранить ее в символе, у вас может быть фикстура, которая создает правила и сохраняет их в синглтоне с идентификатором. Затем вы можете передать этот идентификатор в более поздние фикстуры, и код фикстуры сможет получить объект правил из синглтона.

person Dan Woodward    schedule 06.08.2013
comment
Итак, я в замешательстве. Как QA (или пользователи!) должны иметь возможность писать эти тесты? - person CaffGeek; 06.08.2013
comment
Вы спрашивали о выполнении довольно технической вещи, передаче объекта. Это немного сложнее, чем множество применений. Я ничего не знаю о том, как выглядит объект Rules, поэтому сложно предложить приспособление. Но в идеале приспособление, которое создает правила, имеет удобное для человека приспособление для определения правил. Затем автор теста выполняет |$rulesObject=|получает объект правил|. Затем это передается в другой ваш прибор. - person Dan Woodward; 06.08.2013

Делает ли что-то подобное то, что вы хотите? Это тест fitSharp.

|name|myrules|with|new|rules|

|with|myrules|
|set|myproperty|123|

|with|new|loan|
|set|principal|1000|
|set|interest|5|

|split loan|<<myrules|
|total|interest|principal|fees|
|100|80|5|15|
|100|78|7|15|
person Mike Stockdale    schedule 02.09.2013