1

我正在使用 Ax DevTools,并且试图弄清楚如何使用相同的构建信息标记多个扫描。现在我的测试是这样运行的:

class MyTestCase : XCTestCase {
  func myTest() {
    Attest.that(view: view)
      .isAccessible({ result in })
      .andPushResult(withTags: [myBuild])
  }
}

如何将myBuild标签全局添加到我运行的所有测试中?

4

1 回答 1

2

我将构建自己的类,该类利用 Ax DevTools (Attest) API。然后让我的测试用例与我自己的类交互,而不是与 Attest 本身交互!

class AccessibilityTestUtils {
  static let buildTag:String = Bundle.main.object(
    forInfoDictionaryKey: "CFBundleShortVersionString"
  ) as! String

  init(build: String) {
    self.buildTag = build
  }
    
  static func runAccessibilityTestOn(aView : View) {
    Attest.that(view: aView).isAccessible({ result in })
      .andPushResult(withTags: [buildTag])   
  } 
}

示例用法

class YourTestClass {
    func yourTestCase() {
        AccessibilityTestUtils.runAccessibilityTestOn(aView)
    }
}

注意:这种方法还可以保护您免受将来对 Attest 库的更改,这样您只需在发生非向后兼容更改时更改一行代码。

于 2020-09-16T05:14:22.753 回答