【发布时间】:2020-05-16 11:01:45
【问题描述】:
我正在使用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())
}
}
}
}
我在deinit 中看不到来自print 的任何输出,并且deinit 中的调试断点没有被捕获。
如果我将foo 移动到it 中,则会调用deinit。
这是 Quick 中的错误,还是在测试套件中不调用 deinit 是正常的?
【问题讨论】:
标签: swift memory-leaks quick-nimble