我正在使用Quick来测试我的 Swift 代码。但是,我认为它不会释放describe
范围内定义的对象:
class MyClass {
deinit {
print(self, #function)
}
}
final class MyClassSpec: QuickSpec {
override func spec() {
describe("") {
let foo = MyClass()
it("") {
print(foo)
expect(true).to(beTrue())
}
}
}
}
我没有看到内部的任何输出,并且print
内部deinit
的调试断点deinit
没有被捕获。如果我移动foo
到里面it
,deinit
就会调用。
这是 Quick 中的错误,还是deinit
在测试套件中不被调用是否正常?