Catch 单元测试订购

use*_*053 2 c++ unit-testing catch-unit-test

我想使用Catch对 C++ 库进行单元测试。但是,我需要按顺序运行大部分测试用例。即库需要以某种方式初始化,然后用户登录等。是否有任何设计模式可以实现这一点。

预先感谢。

Dar*_*ook 5

正如您所描述的那样,测试按顺序运行。因此,简单的答案是您无需执行任何操作即可获得此功能。

然而,在单元测试时,结合了夹具创建和断言的超长测试函数被认为是不好的形式:它们变得更难以维护,并且需要更长的时间来隔离问题。解决这个问题的 Catch 方式相当有趣,请参阅Sections 上的教程;我还找到了Phil Nash 的演示(视频,67 分钟),其中(大约 20:00 到 28:00)他非常清楚地解释了节和嵌套节的工作原理。