我想使用Catch在C ++库上进行单元测试。但是我需要在订单中运行大多数测试用例。即库需要以某种方式初始化然后用户登录等。是否有任何设计模式来实现这一点。
提前感谢。
答案 0 :(得分:4)
测试按顺序运行,就像您描述的那样。所以简单的答案就是你不需要做任何事来获得这个功能。
然而,在单元测试时,混合使用夹具创建和断言的超长测试功能被认为是不好的形式:它们变得更难维护,并且需要更长的时间来隔离问题。解决这个问题的Catch方式很有意思,见the tutorial on Sections;我还发现了这个presentation (video, 67 mins) by Phil Nash,其中(从大约20:00到28:00)他非常清楚地解释了部分和嵌套部分是如何工作的。