cti*_*tze 4 unit-testing objective-c ios xctest
我有一个类,它可以配置为做 2 件稍微不同的事情。我想测试两条路径。该类是UIViewControllerInterface Builder的后代,大部分配置都在Interface Builder 中进行。我需要验证故事板场景和它们的插座是否以相同的方式连接,但还需要检查行为的差异。
为此,我想使用共享的 XCTest 套件。
一种用于左手,一种用于右手。使用该应用程序时,两者都会出现。第一个(右手)触发到另一个的转场。最后一个(左手)应该触发不同的转场。例如,这就是它不同的地方。
现在我想通过测试来验证 segue。我想创建一个BothHandSharedTests套件,两个视图控制器实例测试都使用它来验证它们的所有共同点。然而,BothHandSharedTests该类被视为一个自包含的测试套件,它显然不是。
我想出了这些策略:
你会如何解决这个问题?
这是 Swift 中的解决方案:
class AbstractTests: XCTestCase {
// Your tests here
override func perform(_ run: XCTestRun) {
if type(of: self) != AbstractTests.self {
super.perform(run)
}
}
}
Run Code Online (Sandbox Code Playgroud)