假设使用assert()
检查对象函数的前提条件。那么,如果我在这个过程中没有撕掉我的头发,那么当我将无效参数传递给函数时,如何编写有意义的单元测试来捕获前提条件失败?
我的意思是,assert()
会abort()
,那么我怎么能在那之后执行所有其他测试呢?
答案 0 :(得分:4)
您可以使用在单元测试时调用单元测试框架的宏替换assert()
,否则将其评估为assert()
。
答案 1 :(得分:4)
随着时间的推移,我越来越不热衷于使用assert。但是如果你想使用它,我建议编写你自己的版本,抛出异常(可以捕获),而不是调用abort()。
答案 2 :(得分:3)
在子流程中运行测试。传递无效参数将导致子节点中止,但您的测试(父节点)将继续运行。