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

removing runtime discovered tests labeled with "rt"

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

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

一些测试类被其他人继承。

规格:


编辑

添加更具体的细节

子类:

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

如何通过不丢失子类结构来实现这种情况不会发生。


截图

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

为了在维护子classing 结构的同时避免这种情况,请将设置和拆卸功能保留在您拥有的 classes 中,但将测试移至子class设置 class.

例如:

子class:

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