gpt4 book ai didi

unit-testing - Scalatest 是否支持假设?

转载 作者:行者123 更新时间:2023-12-04 05:28:31 28 4
gpt4 key购买 nike

根据标题,我想知道在定义特定测试用例时是否可以向 Scalatest 提供“假设”。在此上下文中的假设将是测试的先决条件,因此如果假设评估为假,则将跳过测试而不是执行(并由运行程序相应地处理)。

在这种特殊情况下,我正在考虑测试之间的依赖关系 - 因此可能有一个基本测试来验证方法是否返回任何内容,然后是后续测试以深入了解响应的细节。如果前一个测试失败,我宁愿将后一个测试以某种方式标记为“不可运行”,而不是让它们也失败。

也就是说,我可以想象将来使用它来定义一些未连接的先决条件(例如硬盘驱动器必须有至少 20MB 的可用空间),所以如果有一种在运行时跳过测试的通用方法(而不是使用 ignore)或 pending ) 我更愿意听到这个。

欢迎使用专门的语法,但如果我必须手动抛出某种异常也没关系。

最佳答案

ScalaTest 2.0(我认为)增加了对假设的支持:

Trait Assertions also provides methods that allow you to cancel a test. You would cancel a test if a resource required by the test was unavailable. For example, if a test requires an external database to be online, and it isn't, the test could be canceled to indicate it was unable to run because of the missing database. Such a test assumes a database is available, and you can use the assume method to indicate this at the beginning of the test, like this:

assume(database.isAvailable)

http://www.scalatest.org/user_guide/using_assertions

关于unit-testing - Scalatest 是否支持假设?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7096275/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com