声明变量时,Xcode单元测试警告

时间:2020-08-06 03:37:21

标签: swift xcode unit-testing

任何人都可以解释一下为什么当我这样声明变量时:

private let viewModel = TermsAndConditionViewModel()
    
// TermsAndConditionViewModel

class TermsAndConditionViewModel {

    private let permissionsModel: PermissionsModel
    private let userSession: UserSessionManager
   
    init(
        permissionsModel: PermissionsModel = PermissionsModelImpl(),
        userSession: UserSessionManager = UserSessionManager.shared
    ) {
        self.permissionsModel = permissionsModel
        self.userSession = userSession
    }
}

并在Xcode中运行测试,我得到了类似enter image description here这样的警告

更新:没有有关警告的消息。 这是当我签入Xcode / Coverage

enter image description here

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

@user2629744您好,欢迎来到StackOverflow。

您在右侧装订线中看到的红色条形不是警告,而是Xcode's Code Coverage Annotation

红色,它显示一个0,因为没有测试执行该代码路径

很难确定是否无法访问您的代码库,但是由于我们在您的示例中谈论的是视图模型,因此我猜这行代码来自视图层。对吧?

如果是这种情况,那么不进行测试就可以了。如果所有业务逻辑都存在于视图模型中(您可以对其进行全面测试),并且保留了视图层humble,那么您仍将覆盖大部分行为。