При использовании DoFixture
я могу установить объект домена как Тестируемая система, что позволяет мне вызывать методы для этого объекта вместо самого прибора.
К сожалению, если такой метод требует более одного параметра, я должен разделить эти параметры пустыми ячейками, потому что в противном случае Fitnesse/fitSharp использует нечетные/четные ячейки для создания имени метода. Я вижу, как это делает мои тесты более похожими на простой английский язык, но на самом деле нецелесообразно начинать переименовывать методы объекта предметной области только для того, чтобы удовлетворить требования среды тестирования.
Например, я хочу вызвать метод Entry AddEntry(string name, string description)
и сохранить результат как символ e1
. Если я попробую следующую таблицу:
|name|e1|add entry|sample name|sample description|
он попытается найти метод с именем AddEntrySampleDescription
и передать ему единственный параметр "sample name"
.
я могу сделать
|name|e1|add|sample name|entry|sample description|
но это просто не выглядит правильно.
Итак, что я в итоге сделал (обратите внимание на лишнюю пустую ячейку между параметрами)
|name|e1|add entry|sample name||sample description|
который делает то, что я хочу, и не такой уродливый, как вариант № 2, но все же кажется хаком. Я что-то упустил или это действительно способ вызывать методы для объектов предметной области?