gpt4 book ai didi

ios - XCTest 测试套件中的共享测试

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:08:11 34 4
gpt4 key购买 nike

我有一个类可以配置为做 2 件略有不同的事情。我想测试这两条路径。该类是 UIViewController 的后代,大部分配置都在 Interface Builder 中进行。我需要验证 Storyboard Scenes 和它们的 Outlets 是否以相同的方式连接,但还需要检查行为上的差异。

我想为此目的使用共享的 XCTest 套件。

一个适合左手使用,一个适合右手使用。使用该应用程序时,两者都会依次出现。第一个(右手)触发到另一个的 segue。最后一个(左手)应该触发不同的 segue。例如,这就是它的不同之处。

现在我想通过测试来验证 segues。我想创建一个 BothHandSharedTests 套件,两个 View Controller 实例测试都使用它来验证它们的所有共同点。但是,BothHandSharedTests 类被视为自包含测试套件,但显然不是。

我想出了这些策略:

  • 从抽象的 XCTest 后代继承,如上所述(似乎并不那么容易),
  • 为公共(public)属性编写一个测试套件,并使用两者之一作为被测对象,并为差异添加两个较小的套件。

你会如何解决这个问题?

最佳答案

这是 Swift 中的一个解决方案:

class AbstractTests: XCTestCase {

// Your tests here

override func perform(_ run: XCTestRun) {
if type(of: self) != AbstractTests.self {
super.perform(run)
}
}
}

关于ios - XCTest 测试套件中的共享测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23490133/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com