Swift Quick/Nimble 测试未运行

Posted

技术标签:

【中文标题】Swift Quick/Nimble 测试未运行【英文标题】:Swift Quick/Nimble tests not running 【发布时间】:2016-11-27 21:21:46 【问题描述】:

我正在尝试做一个简单的测试,看看 Quick 和 Nimble 是否正常工作,但它们不是。这是我应该打破的简单测试:

import Quick
import Nimble

class SomeSpec: QuickSpec 
    override func spec() 
        describe("bad test") 
            it("does not pass") 
                expect("good").to(equal("bad"))
            
        
    

但是如果我运行测试,我会看到输出:

在 0.000 (0.004) 秒内执行了 0 次测试,其中 0 次失败(0 次意外)

我不知道为什么要运行零测试。如果这可能是问题的原因,我确实使用 Swift 包管理器而不是 Cocoapods 安装了 Quick and Nimble。

【问题讨论】:

【参考方案1】:

听起来测试类不是测试目标的一部分,因此它没有被运行。尝试按照“Xcode Help > Add a test class to a project”删除并重新添加。

以下是在全新项目中成功运行此测试的步骤:

    创建一个新项目(出于演示目的,在选项屏幕上,取消选中“包含单元测试”。 按照“Add a test target to a project”添加测试目标。 将 Quick 和 Nimble pod 添加到测试目标。 按照“Xcode Help > Add a test class to a project”添加测试类。 用你上面的sn-p替换测试类文件的内容。 运行测试(“产品 > 测试”)。

【讨论】:

感谢您的回答,但这似乎对我不起作用。 @elveatles 我刚刚添加了成功运行测试所遵循的确切步骤。您可以试一试,看看您是否遇到任何具体问题? 我之前没有使用过 Cocoapods,因为它在 Xcode 8.1 和 Swift 3 中存在问题,这也是我尝试使用 Swift Package Manger 的原因。所以,如果它不破坏我的项目,我会使用 Cocoapods 来添加 Quick 和 Nimble。

以上是关于Swift Quick/Nimble 测试未运行的主要内容,如果未能解决你的问题,请参考以下文章

Swift Quick/Nimble:期望的模棱两可的使用

如何在 Swift Quick Nimble 中执行 beforeAll

Swift Quick/Nimble - 等待谓词匹配

使用 cocoapods 在测试目标中导入 Quick/Nimble 失败

xctest 使用 NSPredicate 最终替换 Quick/Nimble

领域模型在运行单元测试时不存储数据