【问题标题】:Newly created test case class is not shown under Test Navigator in XcodeXcode 中的 Test Navigator 下未显示新创建的测试用例类
【发布时间】:2016-09-06 19:28:08
【问题描述】:

我的 XCode 版本是 7.3.1 。

我的项目已经有测试项目,并且已经有一些测试用例类。在选择“Test Navigator”选项卡中是 Xcode的左上角的时,我可以看到它们。

现在,我想创建一个新的测试用例,所以我选择了新的单元测试用例类

我在其中添加了非常简单的代码:

#import <XCTest/XCTest.h>

@interface MyTest : XCTestCase

@end

@implementation MyTest

- (void)setUp {
    [super setUp];
}

- (void)tearDown {
    [super tearDown];
}

- (void)testExample {
    NSString* expected = @"my-test-string";
    XCTAssertEqual(expected, @"my-test-string");
}

@end

我需要运行它,所以我再次转到“Test Navigator”,但是我看不到我刚刚创建的这个测试用例类。为什么?

【问题讨论】:

  • 检查测试是否添加到测试目标中。
  • 是的,它在测试目标中。

标签: ios xcode unit-testing xcode7 xctest


【解决方案1】:

记得在测试方法上保留test前缀,否则测试框架无法识别,例如:

func test_When_empty_Then_returnsNil() {

不是

func when_empty_Then_returnsNil() {

【讨论】:

    【解决方案2】:

    重新启动 Xcode 是 Xcode 9.0 beta 6 中唯一对我有用的方法。

    【讨论】:

      【解决方案3】:

      在 XCode 中保存 (CTRL+S) 单元测试文件后,单元测试有时会出现在测试导航器中。

      【讨论】:

        【解决方案4】:

        似乎只有在整个单元测试目标至少运行一次之后,Xcode 才会添加单独的测试方法/类。

        所以选择您的测试目标,使用命令 u 运行所有测试。之后,您应该会在测试导航器中看到所有测试,并且可以单独运行它们。

        【讨论】:

          猜你喜欢
          • 2015-12-18
          • 1970-01-01
          • 1970-01-01
          • 2021-06-27
          • 2018-08-06
          • 1970-01-01
          • 1970-01-01
          • 2019-05-30
          • 1970-01-01
          相关资源
          最近更新 更多