我正在使用docket打印机编写集成测试,在单个套件中的所有单元测试完成后,我需要它来切割文档。
我使用的其他测试框架都有tearDownAfterClass
类型的操作,但XCTest似乎没有这个?
无论如何我可以模拟这个吗?
答案 0 :(得分:3)
我使用过的其他测试框架都有一个tearDownAfterClass类型的动作,但XCTest似乎没有那个?
XCTest
正是这个功能。 tearDown
有两个版本,一个是实例方法,另一个是类方法:
- (void)tearDown; // this gets called after each test
+ (void)tearDown; // this gets called after all tests in the suite
同样,有setUp
的实例和类版本,因此您可以在每次测试之前或在套件运行之前进行一次设置工作。
答案 1 :(得分:0)
对此有一个粗略的解决方案。事实证明,XCTest总是按字母顺序运行测试,所以像:
/**
* Tests are run in alphabetical order, hence the Z so this runs last.
*/
- (void)testZTearDownAfterClass
{
// ...
}
setUpBeforeClass
:
- (void)test_setUpBeforeClass
{
// ...
}