删除标记为" rt"的运行时发现的测试

时间:2017-09-05 14:51:32

标签: swift xcode xcode8 xcode-ui-testing ui-testing

我们正面临Xcode检测运行时测试的问题。 由于测试的某些状态,这些测试总是会失败。

通过清理项目或删除派生数据,无法摆脱它们。

某些测试类是由其他人继承的。

规格:

  • Xcode 8.3.3
  • Swift 3.1

修改

添加更具体的细节

子类:

  • TestClassA: XCTestCase
    • func testA1()
    • func testA2()
  • TestClassB: TestClassA
    • func testB1()

现在的问题是,当我为TestClassB运行所有测试时,Xcode将运行testB1,然后testA1testA2。两者都标有rt,但都会失败。

如何通过不丢失子类结构来实现这一点。

截图

Tests Screenshot

1 个答案:

答案 0 :(得分:1)

我认为你重写设置和拆解确保应用程序将在每个测试用例处于正确的状态,这里的问题是 由于子类从其父级继承测试,因此将出现rT测试。

要在维护子类结构时避免这种情况,请在您拥有的类中保留setup和teardown函数,但将测试移动到安装类的子类。

例如:

子类:

  • TestClassA: XCTestCase //这个将有A
  • 的设置和拆解
  • TestClassATests: TestClassA
    • func testA1()
    • func testA2()
  • TestClassB: TestClassA //这个将有B的设置和拆解,您可以重复使用A setup
  • TestClassBTests: TestClassB
    • func testB1()
    • func testB2()