我正在使用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在测试套件中不被调用是否正常?