为什么Xcode的单元测试总是通过?

问题描述 投票:0回答:3

我想在 Xcode 中使用 TDD,但是每次运行,甚至失败

- (void)testThatFails {
    XCTAssertTrue(FALSE, @"FAIL");
}

将导致 Xcode 发出“测试成功”消息。

另外,我没有从控制台上的测试得到任何反馈,说明执行了哪些测试等...

有人遇到过同样的问题吗?

我使用的是 Xcode 7.1.1 和 iOS 9.1。

ios xcode ios9
3个回答
0
投票

这听起来像是一个“目标会员资格”问题

您的测试类应始终以单元测试目标为目标,如下所示:

否则结果是没有什么可测试的并且绿灯;)


0
投票

正如我的评论之一所述,从 2015 年 11 月 24 日 7:53 开始

好的,我重新启动了 iPhone,现在可以正常工作了!

奇怪,但事实就是这样。

而且,从那以后我再也没有遇到过这个问题,已经过去了两个多月了。


0
投票

如果您不小心将测试方法设置为

private
,则可能会发生这种情况。根据文档,测试方法不应是私有的:https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods

看起来总是通过,但实际上并没有向 Xcode 报告任何结果

private func testFoo_isTrue() {
  XCTAssertTrue(false)
}

如预期失败

func testFoo_isTrue() {
  XCTAssertTrue(false)
}
© www.soinside.com 2019 - 2024. All rights reserved.