2015-02-24 19 views
1

我有许多测试数据集通过相同的ScalaTest单元测试运行。如果每个测试数据集都是自己的一组命名测试,那么如果一个数据集不能通过某个测试,我就知道它是哪一个测试数据集,而不是进行单个测试,并查看哪个文件失败。我似乎无法找到测试名称在运行时生成的方式。我查看了基于财产和表格的测试,目前正在使用should behave like来分享灯具,但这些似乎都不符合我的要求。你能动态地从输入数据中为ScalaTest生成测试名吗?

我没有发现ScalaTest中正确的测试方法,或者这是不可能的吗?

回答

0

如何使用ScalaTest的线索机制,以便任何测试失败报告可以作为线索使用哪个数据集?

您可以使用断言提供的withClue结构, 这是由ScalaTest各种风格特质延伸到 额外的信息添加到的失败或取消测试报告。

又见AppendedClues

+0

文档这就是我现在做的事情。我有一个测试并遍历测试集,并为每次迭代设置withClue。我宁愿有n个单独的测试,每个测试的测试名称中的集合名称为 – 2015-03-02 23:56:44

+0

为什么?你可以用不同的测试名称来做什么,否则你不能这样做? – 2015-03-03 01:25:04

+0

测试集是不同的输入场景。如果我在基于测试名称而不是测试输出的情况下失败,这将是很好的。即我设置了“scenario1”和“scenario2”。有线索,有一个测试用于测试集应该通过条件X“”,如果失败,我必须查看输出以查看“scenario1”或“scenario2”是否失败。使用单独生成的测试名称,测试名称会显示给我,例如, ''“scenario2应该通过条件X”'' – 2015-03-03 23:34:26