gpt4 book ai didi

c++ - 如何测试断言?

转载 作者:太空狗 更新时间:2023-10-29 21:06:55 24 4
gpt4 key购买 nike

我正在使用单元测试框架来测试我的库。我在库中有很多断言,以确保在调试版本中捕获程序员错误。现在我想确保我正在测试所有可能的程序员错误。

例如在 Table 类中,我想确保传递的行数和列数不大于表的行数和列数。假设我忘记测试 cols。我想让我的单元测试执行断言应该触发的测试,如果没有,则测试失败。这可能吗?

最佳答案

接下来的问题是,您是否计划重构您的代码,以便在出现这种情况时抛出异常,而不是依赖 <cassert>提示您解决问题的功能?如果是这样,您可以检查是否抛出了异常。如果不是,那么测试来自 <cassert> 的断言语句将变得更加困难。 .像 CUTE 这样的单元测试框架有一个 ASSERT_THROWS仅用于异常测试的宏。我会检查您的框架。

此外,我工作过的商店的情况也是如此,他们不喜欢 assert并且更喜欢异常(exception)。打电话abort对自动化测试没有帮助。实际上,它禁止它。只是我的两分钱。

关于c++ - 如何测试断言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6325396/

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