【问题标题】:Swift Unit test - Wait until service responseSwift 单元测试 - 等到服务响应
【发布时间】:2015-08-27 20:38:13
【问题描述】:

我正在尝试从我的应用程序中进行单元测试。我的应用程序包括服务集成。我正在为此任务实现一个适配器,我需要等待服务响应来处理响应,然后验证响应对象。

我有 2 个在服务响应到达时调用的委托函数。

 func didReceiveAPIResults(#results: AnyObject, path: String, serverTag: String) 


 func didReceiveAPIResultsFailed(#error: NSError, errorObject: AnyObject, path: String, serverTag: String) 

我需要处理前面函数中的响应,然后完成单元测试。

如何指定?

【问题讨论】:

    标签: ios swift unit-testing xcode6 xctest


    【解决方案1】:

    依赖于外部 API 的测试算不上是“单元”测试。为您的适配器实现测试替身以返回一致的响应可能更可靠。这样的 double 可能能够通过立即调用您的委托方法来提供同步接口。

    如果您确实需要测试异步行为,XCTest 为Writing Tests of Asynchronous Operations 提供了XCTestExpectation。大多数第三方测试库也提供类似的东西。

    【讨论】:

    • 我理解您的观点,但我需要测试所有应用程序集成。我需要测试应用流畅度,模拟按钮触摸等。
    • 当以多种方式模拟服务响应以根据响应的结果模拟不同的行为时,您可以更好地测试所有应用程序的功能。您的集成 (!) 测试将运行更长时间,并且当响应因真实数据而不同时,它们会更频繁地中断。
    • 抱歉,找不到该页面:(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    • 2018-07-04
    • 1970-01-01
    相关资源
    最近更新 更多