问题标签 [xctestcase]

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 投票
2 回答
192 浏览

ios - Swift (iOS) 代码覆盖率和 XCTest (mock)

我上面有这个类,我需要为这个类创建一个 XCTestCase 并覆盖所有代码。在 XCTestCase 中,我需要调用 viewDidLoad()、close() 和 setNavBar() 函数,如何正确执行此操作?

是否可以在 swift 中为我的班级使用模拟框架?怎么能做到这一点?

0 投票
2 回答
576 浏览

xcode8 - recordFailureWithDescription(“自定义描述”,inFile:#file,atLine:#line,预期:true)不起作用xcode 8 UI xctest

像这样使用 XCTest 方法 recordFailureWithDescription 时:

控制台输出不再像在 xcode 7 中那样提供自定义描述或文件名或行号。

有人对此有任何想法吗?或获取自定义描述的方法?

0 投票
2 回答
2640 浏览

ios - 无法监控事件循环并等待应用空闲

我正在使用 XCTest 为我的应用程序编写 UITest 案例。应用程序在主屏幕中进行多次服务器调用。我无法导航到下一个屏幕。自动化通常保持空闲 1 分钟甚至比消息更长时间

等待应用空闲

或者

无法监控事件循环

有没有办法让应用程序执行我的测试用例打破这个???

0 投票
1 回答
1299 浏览

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

背景

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

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

UI Automation XCTestCase 扩展等待方法:

waitForExpectationsWithTimeout 正常工作的示例

测试用例

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

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

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

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

测试用例

帮助文件

0 投票
0 回答
1184 浏览

swift - 如何对 UITableViewCell 进行单元测试

我正在为一个项目添加单元测试,并且正在为如何为 UITableViewCell 自定义类编写测试而磕磕绊绊。这是该类的代码:

例如,我如何测试 awakeFromNib() 和 setSelected?

谢谢你。

0 投票
2 回答
2855 浏览

ios - 将应用程序发送到后台并从 XCTest 中的最新消息重新启动它

我正在寻找解决问题的方法,我需要将我的应用程序发送到后台并在特定时间间隔后从最近的应用程序重新启动它。在 Instruments UIAutomation 中使用 deactivateAppForDuration() 来实现这一点。有人知道如何在 XCTest 中实现这一目标吗?

0 投票
0 回答
57 浏览

ios - 异步快速单元测试被调用 3 次而不是 1 次

我已经为通过 http 请求加载数据的异步函数编写了一个单元测试。

当我开始测试时,它被调用了 3 次而不是 1 次。

我尝试像这里那样实现单元测试: https ://adoptioncurve.net/archives/2015/10/testing-asynchronous-code-in-swift/

我的代码如下所示:

结果我得到以下信息:

那么我做错了什么还是这是iOS上异步单元测试的默认行为?

0 投票
2 回答
1310 浏览

xcode - 如何在测试时捕获失败日志:XCTest?

使用XCTest。测试测试结果保存在路径的TestSummaries.plist中:

/Users/smriti/Library/Developer/Xcode/DerivedData/Project_name/Logs/Test/

谁能告诉如何从上面的路径读取 TestSummaries.plist 文件的内容?

需要从上述文件中捕获结果数据(错误消息、测试用例、行号)并在函数tearDown()中写入 excel

尝试使用

  1. NSSearchPathForDirectoriesInDomains(.AllLibrariesDirectory, .AllDomainsMask, true) -> 没有给出想要的路径。

  2. NSBundle.mainBundle 为“Project_name/Build/Products/”而不是“/Project_name/Logs/Test/”提供路径

0 投票
1 回答
2464 浏览

ios - How to use XCTestSuite? (Swift 3)

We have a Jenkins job that runs our iOS UI tests, and I need to be able to ignore some tests (or test classes) based on certain runtime information during a test run. According to the XCTestSuite documentation https://developer.apple.com/reference/xctest/xctestsuite you can create a custom test suite programmatically, but I haven't found any examples of how to actually do so. So how exactly does one go about it?

I've toyed with this with the code below as a starting point, but haven't really gotten anywhere. When the IgnoreThisClass is run in Xcode, the test method in it gets run even though the testCaseCount in BaseTestClass' setUp() reports 0 tests in suite. Do I need to override some init() method instead or do something else? Any tips would be greatly appreciated!

0 投票
2 回答
2372 浏览

swift - 如何从一类 xcode uitesting 运行特定测试

我正在使用 XCTest(Swift) 在 xcode 中创建 ui 测试,例如,如何从一个类运行 2-3 个测试而不从该类启动其余测试?是否可以将一些测试添加到套件或从命令行运行和运行只是必要的套件/运行?

根据 XCTestSuite 文档,可以选择创建自定义测试套件,但我没有找到任何示例。