问题标签 [xctestexpectation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
2239 浏览

ios - 异步等待失败:超过 10 秒的超时,未实现预期:“消息”

我正在进行 POST API 调用。我正在运行 UI 测试并想检查 URL 的响应。但是当我运行这个测试时出现错误。

错误:异步等待失败:超过 10 秒的超时,未实现预期:“消息”

这是我正在调用的测试函数。

主功能:

0 投票
0 回答
414 浏览

ios - 多个期望导致 waitForExpectationsWithTimeout 崩溃

这是我在 Xcode 中使用 XCTestExpectation 测试的异步函数。

为了测试代码,我创建了 3 个期望来等待每个异步调用完成。

当我使用默认值等待期望实现时

但这会导致出现SIGABRT以下错误*** Assertion failure in -[XCTestExpectation fulfill], /Library/Caches/com.apple.xbs/Sources/XCTest_Sim/XCTest-9530/XCTestFramework/Classes/XCTestCase+AsynchronousTesting.m:450

我已经成功地使用了该功能dispatch_groups并且可以正常工作。但无法弄清楚为什么 XCTestExpectation 会引发多个期望的异常。

0 投票
1 回答
1830 浏览

ios - 在后台线程上调用 XCTestExpectation 实现方法是否安全?

XCTestExpectation在很多测试中使用,有时(非常随机)一些期望没有实现(尽管我确信它们应该是)。

在调查这个问题时,我注意到一些期望在主线程中实现,而一些期望在后台线程中实现。到目前为止,这些问题都是在后台线程中解决的。

满足后台线程的期望是否安全?我找不到任何关于此的明确信息。

以下是我如何使用的示例XCTestExpectation

0 投票
1 回答
287 浏览

objective-c - iOS9 XCTest - 如何使用期望来测试没有阻塞的异步案例?

我正在看这个使用 iOS9 期望使用异步测试的例子。这对于网络请求和其他具有可以满足预期的完成块的操作是有意义的。

但是,我正在尝试对不使用回调块的类进行单元测试。到目前为止,我发现下面的代码在某些时候有效,但我不确定我是否使用了正确的方法。

当应用程序有机会在后台执行某些操作时,如何延迟测试用例?在这种情况下,我可以使用执行选择器在超时之前检查某些内容并满足该后台线程的期望吗?

0 投票
2 回答
2967 浏览

ios - XCTest 断言期望未满足

当使用 XCTest 和 XCTestExpectation 编写某个异步测试时,我想断言某个块没有被执行。以下代码成功断言块已执行,否则测试失败。

似乎没有明显的方法可以反过来执行此操作;如果块在超时后未执行,则测试成功,如果在超时之前执行,则测试失败。除此之外,我想断言该块在满足不同条件时稍后执行。

是否有一种直接的方法可以使用 XCTestExpectation 执行此操作,或者我必须创建一个解决方法?

0 投票
1 回答
497 浏览

swift - keyValueObservingExpectationForObject handler block not called

I have a testing case in Swift trying to wait for a property change:

Why testKeyValueObservingExpectationForObject handler block is never called?

enter image description here

0 投票
3 回答
5471 浏览

swift - 使用 Swift 和 XCTest 等到对象在屏幕上不可见

我正在寻找帮助编写一种方法,该方法一直等到页面上不再存在指定的元素。我正在使用 Swift 2.2 和 XCTest 进行开发。如您所见,我是这里的新手,也是编程新手。对你的帮助表示感谢。

0 投票
1 回答
164 浏览

class - XCTest:我如何判断哪个 XCTestExpectation 调用了“履行”?

我正在测试一个有委托的类。委托当然是测试类,从委托方法的实现我称之为不同的期望:

我如何从测试类中分辨出哪个期望被称为“实现”?

0 投票
0 回答
568 浏览

ios - XCTestExpectation 示例 ios

我想在目标 C 中使用 xctest 测试 web 服务响应。

我在使用时遇到了一些问题

或者

有谁知道一些教程链接或示例,以便我可以理解它的正确用法?

谢谢

0 投票
1 回答
1299 浏览

swift - 从辅助方法调用的 XCTestCase 扩展如何知道在主测试用例上设置了哪些属性?

背景

以下测试调用作为 XCTestCase 扩展的方法。目标:

  • waitForElementExists方法返回,因为元素存在或
  • waitForElementExists方法使调用它的测试用例/setUp 方法失败,因为该元素在指定时间内不存在

UI Automation XCTestCase 扩展等待方法:

waitForExpectationsWithTimeout 正常工作的示例

测试用例

这行得通!testSample永远不会被调用。

但是,如果我们将 waitForElementExists 调用移至辅助方法会怎样?

waitForExpectationsWithTimeout 成功返回但不应该返回的示例

在这里,测试用例继续进行,就好像断言从未发生过一样。如果我在 中设置断点waitForElementExists,我会看到它continueAfterFailure设置为 true,因此很明显它没有连接到与主测试用例相同的代码。

测试用例

帮助文件