0

我正在寻找一种方法来测试服务是否已在 .Container 范围内解决。我的应用程序在启动时启动了一些“服务”,我想确保这些服务已经得到解决,而不会触发它们被解决。

4

1 回答 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 回答