问题标签 [quick-nimble]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 单元测试(快速/灵活)-(未找到测试)
我有单元测试的问题。当我运行测试时,它以"No tests found"
. 我正在使用AppCode
和Quick/Nimble
框架进行单元测试,但它在 XCode 中也不起作用。
我已经XCTest/Kiwi
使用 Target:MyAppTests、Configuration:Development 和 Class:All 测试类运行配置(即使指定了特定的测试类,它也不起作用)。据我所知,没有什么更多的配置。
任何想法我做错了什么?我不确定我应该提供什么其他类型的信息/配置.. 谢谢
编辑:示例单元测试代码
ios - How should I fix the errors in Nimble files?
I'm attempting to use the Quick/Nimble testing framework in the iOS application at work. When I build my xcworkspace project I get all the errors in the image below. All these errors are within the Pods.xcodeproj in Pods/Nimble folder.
I'm using Swift 3, Xcode 8.0, Cocoapods 1.1.1, fastlane 1.10.5, Nimble 5.1.1, Quick 0.10.0, and Swiftlint. Are these errors caused by Swiftlint, Swift 3, or something else?
swift - Swift Quick/Nimble:期望的模棱两可的使用
我是 Quick/Nimble 的新手,所以我尝试了一个简单的单元测试:
然而,在期望线上,我得到了错误:
'expect(_:file:line:)' 的模糊使用
我不明白为什么这是模棱两可的。据我所知,这就是它在快速示例中的样子。
swift - Swift Quick/Nimble 测试未运行
我正在尝试做一个简单的测试,看看 Quick 和 Nimble 是否正常工作,但它们不是。这是我应该打破的简单测试:
但是如果我运行测试,我会看到输出:
在 0.000 (0.004) 秒内执行了 0 次测试,0 次失败(0 次意外)
我不知道为什么要运行零测试。如果这可能是问题的原因,我确实使用 Swift 包管理器而不是 Cocoapods 安装了 Quick and Nimble。
swift - 使用 Nimble 测试在 Quick 中引发错误的方法时出错
在测试引发异常的方法时,我无法正确获取 Nimble 匹配器。根据文档,它应该很简单。我只需要这样的期望
然而,使用 Swift 3 和 Xcode 8.2,我得到了一个编译器编辑器。这是上下文。
我在“it”声明行收到以下错误
swift - BDD 测试中的 Moya 存根请求
我想在我的Quick/Nimble BDD 测试中发出Moya存根请求。Moya有一个我使用 JSON 文件创建的参数:sampleData
如何在测试中使用此参数?在测试中提出Moya存根请求的任何想法?
谢谢!
swift - 如何比较两个实际上符合“Equatable”的“Any”对象
我想实现一个ValueObjectSharedExampleConfiguration: QuickConfiguration
using Quick
。
然后我想测试任何符合Equatable
这个共享示例的类/结构,如下所示:
但问题是,SharedExampleContext
实际上是闭包返回[String: Any]
,所以obj1a
,我在闭包中得到obj1b
的obj2
变量sharedExample
都是类型Any
,不一定符合Equatable
。因此代码obj1a == obj1b
无法编译。
实际上,如果我检查obj1a is Equatable
它返回true。但我不知道如何将其转换为编译器可以接受的正确类型。obj1a as! Equatable
不会编译,因为Equatable
它是一个通用协议。
我不能只写obj1a as! Foo
,因为如果有另一个课程Bar: Equatable
我想要我的 sharedExample 也适用于此。
这里的主要问题是:我有两个变量转换为Any
,它们保证最初是符合Equatable
. 在不知道它们的实际类型的情况下,我应该如何合法地比较这两个变量?
swift - 我应该如何测试 BDD 中值对象类型的“isEqual”方法?
我是 BDD 的新手,甚至是整个测试世界的新手。
在快速编写简单的线性代数库时,我正在尝试采用 BDD 实践。所以会有很多值对象类型,比如Matrix
,Vector
等等。在写代码的时候,我想我还是需要坚持 TDD 原则(我说的对吗?):
没有失败的测试不写任何一行代码
为了实现一个值对象类型,我需要让它符合Equatable
协议并实现它的==
操作符。这是添加代码,所以我需要一个失败的测试。如何为这种场景编写规范?
有人可能会建议一些方法,例如:
这将是一个丑陋的样板,原因有两个:
- 可能有很多值对象类型,我需要为它们重复一遍
- 可能有很多情况会导致两个对象不相等。以上面的规范为例,
==
like的实现return lhs.rows == rhs.rows
将通过测试。为了揭示这个“错误”,我需要添加另一个期望,例如expect(matrixWithDifferentColmunCount) != aMatrix
. 同样,这种重复发生在所有值对象类型上。
那么,我应该如何operator==
优雅地测试这个“isEqual”(或)方法?还是我根本不应该测试它?
我正在使用 swift 和Quick来测试框架。Quick 提供了一种称为SharedExample的机制来减少样板文件。但是由于 swift 是一种静态类型语言,而且 Quick 的共享示例不支持泛型,所以我不能直接使用共享示例来测试值对象。
我想出了一个解决方法,但不认为它是一个优雅的解决方法。
quick-nimble - 我可以快速失败一个测试系列吗?
如果出现给定情况,我有一组测试会使整个测试套件崩溃。此外,这种情况已经是套件的失败。
我宁愿在系列设置期间测试条件是否为真,而不是崩溃,并在失败时快速中止它。
那可能吗?
ios - 为什么在 Quick 的单元测试中多次调用 before- 和 afterEach 块?
我用一些示例组编写了一个测试用例,包括beforeEach
和afterEach
。而且我希望 eachbeforeEach
和afterEach
会为 each 调用一次it
。
唉,对于一个单一it
的,beforeEach
并被afterEach
多次调用。
我查看了一些文档(即 Quick 自己的文档和http://jasmine.github.io/2.1/introduction.html),但这些对我的事业没有帮助。
这是一个小片段,演示了这一点:
类 CheckerTests:QuickSpec {
}
我的控制台日志:
上面的日志提出了两个问题:
- 我不确定何时
beforeEach
以及afterEach
现在被调用;我也不知道为什么我看到多个日志调用它们。怎么会被多次调用?
-上面的日志显示,在示例通过之前context
调用了 after 块......不应该在示例之后发生吗?
从我的代码片段中,我希望日志返回:
有人可以解释这里发生了什么吗?这是正确的行为吗?
编辑:
正如评论所建议的那样;我还在示例中添加了一个日志it
(请参阅上面的修改后的代码片段)。这给了我以下日志:
上面的日志显示该示例运行了两次,这让我更加困惑。
编辑:
回答了一个问题:
-上面的日志显示,在示例通过之前 context
调用了 after 块......不应该在示例之后发生吗?
似乎测试以正确的顺序进行,因此可以回答上述问题。
编辑:
以供参考; 这就是我的 Podfile 的样子:
除此之外,我不确定还有哪些其他设置可能会影响测试。