如何解决Fitnesse-我们可以拆分一个依赖于很多值但没有中间结果的大表吗?
| 在过去一个月左右的时间里,我刚刚开始与Fitnesse合作。 我有大约50至60种不同的输入,它们将产生结果。到目前为止,我无法找到任何可以捕获并保留的中间结果。 以折扣计算为例,需要在三页或四页向导中捕获许多值。然后将这些用于计算折扣。但是,只有一项服务可以获取所有输入并计算折扣。 折扣计算的组成部分也需要说明。 作为一个具体示例,假设用户可以在UI中选择选项A,B,C中的任何一个或全部,并且每个选项都具有相关联的特定值,用户可以在向导中输入这些特定值以进行计算的折扣。所有选项可能未与所有属性关联。我的fitnesse表必须如下所示: 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
(不适用表示该属性不适用于该选项)
这里的问题是我要调用一个服务,该服务无法更改,它将接受所选的整个选项和属性集,并返回总折扣以及每个所选选项的单个折扣组成部分。
用户希望各个组件也可以在适应性页面上进行测试。
对于一小部分属性和选项,这不应该是一个太大的问题,但是我正在寻找大约15个或更多选项,并且总共要查看50个以上的属性,但并非全部都是适用于每个选项。
有什么办法可以将其拆分为多个表?任何人都可以就如何解决这个问题提供任何建议吗?我担心测试的性能和可读性。我尚未开始,但是在开始之前,我想尝试一下是否有其他方法,因为我并不真正了解这里可能会出现的所有可能的选择。一张巨大的桌子听起来并不好。
提前致谢 !!
谢谢,
苏布
解决方法
我一直在努力的一种选择是定义自己的子表:
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是实际的fitnesse表。
\“ SubTable \”只是一个字符串,我用作子表之间的定界符,以查找新子表的开始。遵循\“ SubTable \”,我可以走通用路线并定义需要实例化的类以处理此问题。
为了保持通用性并尽可能接近通常的适应性,子表类还应使用doTable()方法来表现与普通适应性表完全相同的方式。
根据MainTable.java中的逻辑,可以分析各个行,将它们分组为子表,使用反射实例化各个处理类,然后将这些行传递给doTable()调用。然后,子表将执行自己的逻辑和验证,然后返回通过/失败行。然后MainTable.java将整理所有子表返回的所有结果并显示它们。
到目前为止,这似乎对我有用。假设子表行已正确分组,则列跨度确实会减少很多。
请任何人让我知道,如果您能想到一个比这更好的出路。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。