我正在寻找一种方法来测试服务是否已在 .Container 范围内解决。我的应用程序在启动时启动了一些“服务”,我想确保这些服务已经得到解决,而不会触发它们被解决。
问问题
657 次
1 回答
0
您可以在工厂关闭中添加日志记录,以检查该类型是否已被Swinject容器解析。
container.register(AnimalType.self) { _ in
// You can log here.
print("AnimalType is being resolved to Cat.")
return Cat()
}
.inObjectScope(.Container)
编辑
或者您可以使用标志来检查您的单元测试。
var initialized = false
container.register(AnimalType.self) { _ in
// You can check this parameter later in your unit test.
initialized = true
return Cat()
}
.inObjectScope(.Container)
XCTAssertFalse(initialized)
container.resolve(AnimalType.self)
XCTAssertTrue(initialized)
于 2016-03-25T04:23:34.457 回答