【发布时间】:2014-01-27 19:10:57
【问题描述】:
根据标题,我想知道在定义特定测试用例时是否可以向 Scalatest 提供“假设”。这种情况下的假设将是测试的先决条件,这样如果假设评估为假,则测试将被跳过而不是执行(并由运行者相应地处理)。
在这种特殊情况下,我正在考虑测试之间的依赖关系 - 所以可能会有一个基本测试来验证方法是否返回任何东西,然后是后面的测试以深入了解细节的回应。如果前一个测试失败,我宁愿将后一个测试以某种方式标记为“不可运行”,而不是让它们也失败。
也就是说,我可以想象将来使用它来定义一些未连接的先决条件(例如硬盘驱动器必须至少有 20MB 的可用空间),所以如果有一种在运行时跳过测试的通用方法(而不是使用ignore 或 pending) 我更愿意听。
欢迎使用特殊语法,但如果我必须手动抛出某种异常也没关系。
【问题讨论】:
-
您希望如何报告测试?被忽略、待处理、成功、失败?
-
我也想要这个。用例是用测试内容填充数据库;如果失败,则不应运行将从数据库读取的测试(不是全部)。我更愿意将它们报告为“已忽略”。
标签: unit-testing scala scalatest