You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XCTAssertTrue本该失败却通过?Xcode单元测试异常求助

Xcode单元测试断言未执行、测试始终通过的原因及解决方法

你的测试代码存在两个核心问题,导致断言根本没被执行,所以测试才会“始终通过”:

  • 测试容器类型错误:XCTest框架仅识别继承自XCTestCase的类(class)作为测试类,你使用的结构体(struct)不会被框架扫描到,里面的方法自然不会被当作测试用例运行。
  • 测试方法不符合规范:Swift中XCTest的测试方法需要以test开头(如testExample),或者添加@objc标记并遵循命名规则。你用的@Test注解并非XCTest的合法标记,框架无法识别这个方法为测试用例。

修正后的代码示例:

import XCTest

class MyUnitTest: XCTestCase {
    func testExample() throws {
        XCTAssertTrue("a" == "b")
        XCTAssertEqual("a", "b")
    }
}

修改说明:

  1. 将struct替换为继承自XCTestCase的class,符合XCTest的测试类要求
  2. 方法名改为testExample(以test开头,框架自动识别为测试用例)
  3. 移除无效的@Test注解
  4. 确保导入XCTest框架(若测试文件未导入)

修改后运行测试,断言会正常执行,因"a"与"b"不相等,测试会按预期失败。

内容的提问来源于stack exchange,提问作者Rob Bonner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 10:47:33