testing - Fitnesse - 我们可以拆分一个依赖于很多值但没有中间结果的大表吗?

标签 testing fitnesse

在过去一个月左右的时间里,我才刚刚开始使用 fitnesse。

我有大约 50-60 个不同的输入可以产生结果。到目前为止,我一直无法找到任何我可以捕获并搁置的中间结果。

以折扣计算为例,需要通过三页或四页向导捕获许多值。这些将用于计算折扣。但是,有一项服务可以获取所有输入并计算折扣。 还需要说明折扣计算的组成部分。

举个具体的例子,假设用户可以在 UI 中选择 A、B、C 中的任何一个或所有选项,并且每个选项都有特定的关联值,用户在向导中输入这些值,这些值会进入计算的折扣。并非所有选项都与所有属性相关联。我的健身 table 需要看起来像:

             Property A     Property B        Property C   Expected value
   Option A        5                6                n/a          5
   Option B       n/a              n/a               10          2
   Option C       10               n/a               10          3

(n/a 表示该属性不适用于该选项)

这里的问题是我有一个单一的服务要调用,它不能改变,它会选择整套选项和属性,并返回总折扣,以及每个选项的单独折扣组件选择。 用户希望各个组件也能在健身页面上进行测试。

对于一小组属性和选项,这应该不是什么大问题,但我正在寻找大约 15 个或更多选项,并且总共有 50 多个属性,而不是全部适用于每个选项。

有什么办法可以把它分成多个表吗?谁能就我如何解决这个问题提出任何建议?我担心这里测试的性能和可读性。我还没有开始,但在开始之前我试图看看是否有任何替代方法,因为我并不真正熟悉这里可能提供的所有可能选项,并且使用一个巨大的 table 听起来不太好。

提前致谢!!

谢谢, 苏布

最佳答案

我一直在研究的一个选项是定义我自己的子表:

Main Table

 SubTable:com.test.Table1
                   Property1         Property2   
      Option A      5                    6
      Option D      10                   7

 SubTable:com.test.Table2
                    Property3         Property4
      Option B       12                n/a
      Option C       15                 10

MainTable 是实际的健身表。 “SubTable”只是一个字符串,我用作我的子表之间的分隔符,以找到新子表的开始。按照“SubTable”,我可以走通用路线并定义需要实例化的类来处理这个问题。

为了保持通用性,并尽可能接近通常的健身表,子表类的行为也应该与普通健身表的行为完全相同,使用 doTable() 方法。

由 MainTable.java 中的逻辑来解析各个行,将它们分组到子表中,使用反射实例化各个处理类,并将这些行传递到 doTable() 调用中。然后子表将执行自己的逻辑和验证,然后返回通过/失败行。然后 MainTable.java 将整理所有子表返回的所有结果并显示它们。

到目前为止,这似乎对我有用。如果子表行被正确分组,列分布确实会减少很多。

如果你能想到比这更好的出路,请告诉我。

关于testing - Fitnesse - 我们可以拆分一个依赖于很多值但没有中间结果的大表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6354083/

相关文章:

.net - 在 FitSharp 中使用符号

fitnesse - 当与浏览器进行精简通信时,我在 FitNesse 中遇到错误_无法使用 SUT 发送/接收数据

java - FitNesse Maven 类路径插件 (ClassNotFoundException)

testing - 使用 TestNG 执行测试包时,父类(super class)被多次实例化

angular - 如何测试 Angular 2 ErrorHandler 的实现?

java - 测试 spring 安全帖子。访问此资源需要完全身份验证

java - 用于测试的 hibernate 配置 -(新手哇)

testing - 在自己的文件中定义测试参数

unit-testing - FitNesse 值比较失败,即使实际值和预期值相同

c# - .Net 世界中类似 FIT 的测试