我正在尝试使用Quick/Nimble编写一个单元测试,测试异步函数,根据Nimble文档:
await expect(await aFunctionReturning1()).to(equal(1))
不幸的是,这行代码对我来说不编译。
环境:
- xcode 14.2
- 快速6.1.0
- 简体中文
- Swift包中的测试
一个最小的可重复的例子是这样的:
import Quick
import Nimble
struct Foo {
func bar() async -> String {
await Task { "Hello World" }.value
}
}
final class FooSpec: QuickSpec {
override func spec() {
describe("A Foo") {
describe("When calling Bar") {
var foo: Foo!
beforeEach {
foo = Foo()
}
it("Says Hello World") { await expect( await foo.bar()) == "Hello World" }
}
}
}
}
这会导致'async' call in an autoclosure that does not support concurrency
,以及另一个我不明白的警告:
我错过了什么?
1条答案
按热度按时间vhmi4jdf1#
在提出Quick/Nimble github repo的问题后,我得到的反馈表明文档是错误的。
而不是像文档建议的那样使用圆括号:
我们应该像这样使用花括号:
这一行编译并按预期工作。