我正在测试我的GLSL 程序转换库,并想对变压器的输入/输出进行快照测试。该库的基本操作是解析字符串,对解析树进行一些转换,然后将其打印回字符串。
现在如果测试框架能够自动处理大量的输入/输出测试用例就好了。我正在为正在测试的一种特定行为设想一个快照测试文件,看起来像这样:
=====
the first test case consisting of 20 lines of code...
>>>>>
the same code but with the transformation applied...
=====
the second test case code...
>>>>>
the expected output for the second test case
...
相应的 Java 代码可能是这样的,它将从具有测试名称或注释中给出的文件中读取测试用例:
@SnapshotName("expression_replacement_simple")
@Test
public String testExpressionReplacement(String input) {
return transform(input); //insert library usage here
}
我为 JUnit 找到了这个不错的快照测试库,几乎可以满足我的要求。它可以生成和测试快照,但不能从同一个文件中读取它们。将每个测试用例的字符串直接放在 Java 代码中是不切实际的,尤其是因为直观地比较输入和输出应该很容易。有解决方案吗?我只能找到以输出为中心的快照库。我当然可以自己阅读输入代码,但是输入和输出仍然是单独的文件和格式。感谢您的任何提示!