gpt4 book ai didi

c++ - 非中止断言 CppUnit

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:48:03 24 4
gpt4 key购买 nike

我在一个测试函数中使用了多个断言,但是当(例如)第一个断言失败时,其余的断言将不再执行。有没有办法用 CppUnit 做一个断言(CPPUNIT_ASSERT),它在失败后不会离开测试函数?例如非中止断言。

我找到了这个:http://cppunit.sourceforge.net/cppunit2/doc/但是库中没有实现“CHECK”。

最佳答案

关于单元测试有两种思想流派。一个是单元测试应该只测试一件事,如果你想测试两件事,你应该有两个测试。优点是完全消除了你上面描述的问题,缺点是多写了几秒测试。另一个想法是一个测试可以测试多个东西,失败的测试很少见,并且可以被开发人员识别并修复。优点是一个复杂的设置只需要做一次,当然缺点是它在第一次失败时停止测试,隐藏了问题的真实数量和身份。

我的方法是务实。如果您可以摆脱多个断言,并且仍然开发并通过一个测试轻松测试多个属性,那就去做吧——但要做好失败的准备,如果您陷入所描述的情况,请快速将测试重构为多个测试,然后不要浪费时间在一个测试上挣扎。测试的总数绝对不是一个因素。适当的测试数量是您彻底评估代码所需的数量。

关于c++ - 非中止断言 CppUnit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19585846/

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