FitNesse:保持顺序的嵌套 SuiteSetUps 的替代方案

FitNesse: Alternative for nested SuiteSetUps that maintains ordering

我们有一个 FitNesse/HSAC 项目,其中包含大量测试,其结构基本如下:

SubSuite2 的 SuiteSetUp 使用 JsonHttpTest 执行特别慢的 GET 请求,并且 SubSuite2 中的所有测试都会检查该请求的响应。

我们选择在 SuiteSetUp 中执行请求,因为在所有这三种情况下,FitNesse 都会 运行 在相关测试之前执行请求:

  1. 当运行单独测试 SubSuite2 的其中一项时
  2. 当运行将 SubSuite2 作为一个套件时
  3. 当 运行将 TopSuite 作为一个套件时

但是,像这样嵌套 SuiteSetUps 会更改 FitNesse issue #131 中报告的测试执行顺序,该顺序已作为 WONTFIX 关闭。

这种顺序更改在我们的案例中是不可取的,因为它使测试报告难以 read/navigate 并且使我们和我们为其编写测试的客户感到困惑。

无论我们如何 运行 测试,我们都希望在保持执行顺序的同时最多执行一次慢速请求。

我想出的可能解决方案是:

我不禁觉得应该有一种方法可以解决这三种情况而无需 Java 编码。

我在谷歌上进行了大量搜索,但找不到任何合适的解决方案。

我已经为这个问题绞尽脑汁好几个小时了,所以最欢迎外部观点:)

注意:此外,我们还想做 |show|response|某个地方,这样我们就可以在它们出错时进行调试,但响应是如此之大,以至于仅仅显示它就需要 FitNesse 好几秒钟。

仅在 SuiteSetUp 中显示响应便于查找,同时最大限度地减少延迟,而此解决方案使显示响应的位置变得不那么琐碎。

应该可以使用 FitNesse 20190628(及更高版本)并将 !define ALL_UNCLE_SUITE_SETUPS {true} 添加到您的 top-level 套件中