使用junit检查输出是否稳定的最佳方法是什么?

时间:2011-12-18 08:57:24

标签: junit4

我有一个采用数据结构并写入OutputStream的方法。我想写一个单元测试,确保给定输入的该函数的输出不会意外地改变。

我认为我使用JUnit Theories以正确的方式构建测试。我的@DataPoints是一对标识符和示例数据结构,我有一个@Theory,该方法的输出将与签入到我使用标识符使用getResourceAsStream获取的版本控制的文件相同。

然而,痛苦的部分是首先生成这些文件。我目前非常难看的解决方案是一个名为WRITE_TEST_OUTPUT的布尔常量,通常是假的。当我想重新生成输出文件时(因为我已经更改了@DataPoints列表或方法的所需行为已更改)我将此常量设置为true,并且有一个测试,当这是真的时再次运行该函数将当前输出文件写入/ tmp中的目录。然后断言常量是假的,所以我不会意外地检查常量为真的版本。

让这一代假装成测试是非常方便的,所以我可以在Eclipse中运行它,但它似乎是一个可怕的kludge。这似乎是人们必须一直做的事情 - 其他人找到了什么样的解决方案?

0 个答案:

没有答案