当我运行单个XCTest类时,所有测试都会成功。
但是,当我与其他XCTest一起运行时,类中的某些测试会失败。
setUp和tearDown方法正确实现如下:
- (void)setUp {
[super setUp];
...
}
- (void)tearDown {
...
[super tearDown];
}
我在应该在测试中执行的代码中设置断点。当我单独运行测试时,达到了断点;当我用其他测试运行它时,没有达到断点。我想也许XCTest有一些缓存行为?如果是这样,如何将其关闭?
有谁知道为什么会这样?
非常感谢!
答案 0 :(得分:2)
我看到了同样的行为,我的问题是因为我在测试的方法中有一个静态变量,它在测试中保持其值。
答案 1 :(得分:0)
当我同时运行所有测试时,我遇到了类似的问题。我可以通过将Assertion放入Dispatch Delay中来解决它,
DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
XCTAssert(self.response != nil)
}
我希望以上解决方案也对您有用。