FitNesse以对象作为参数进行测试

本文关键字:测试 参数 对象 FitNesse | 更新日期: 2023-09-27 18:26:40

我在为应用程序编写FitNesse测试时遇到问题。

测试本身非常简单。

我们设置了一个贷款,它有一些财产(本金,利息,费用)。

还有另一个对象Rules,它包含用于偿还贷款的属性。

Loan类有一个名为SplitLoan的方法,它接受一个Rules对象,并将返回一个需要支付的款项列表。

付款将包含总金额,以及本金、利息和费用的个别金额。

我该如何在FitNesse中编写此测试?

我甚至无法进行调用,因为我不知道如何设置传递到SplitLoan函数的Rules对象。

FitNesse以对象作为参数进行测试

我不确定这在C#中是否有效,但我知道SLIM支持将对象引用放入Symbol中。您可以使用一个fixture来构建Rules对象,获取对它的引用,然后将符号传递给另一个需要它作为输入的fixture。

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

或者,如果你不想(或不能)获得对象引用并将其存储在符号中,你可以有一个fixture来构建规则,并将它们存储在带有标识符的singleton中。然后,您可以在以后的fixture中传递该标识符,fixture代码可以从singleton中获取规则对象。

这样的东西能满足你的需求吗?这是一个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|