出于显而易见的原因,我不想用测试代码污染我的生产代码。我正在尝试使用XCode的ui测试框架。在运行时,我想用其他类替换仅存在于我的测试目标中的类。
知道如何实现这个目标吗?
答案 0 :(得分:0)
你需要所谓的测试模拟。
您可以在测试文件中创建一个模拟类,用于扩展您希望模拟的类。
class MockHttp extends HttpService {
var getWasCalledCount = 0
override func get(request: URLRequest) {
getWasCalledCount = getWasCalledCount + 1
}
}
然后在测试中使用mock修改原始类属性(我喜欢在setUp方法中使用它)
override func setUp() {
var mockHttp = MockHttp()
classIWantToInjectWithMock = ClassIWantToInjectWithMock(http: mockHttp)
}
我希望这有帮助!祝你有愉快的一天!