问题标签 [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.
swift - 异步 URLRequest 数据任务超时
试图使以下测试正常工作。它永远不会进入完成块,而是在 30 秒后超时。该请求似乎从未提出过,因为我在查尔斯身上看不到它。
测试失败并出现以下错误:
异步等待失败:超过 30 秒的超时且未实现预期:“异步请求”
我哪里错了?
xcode - 如何在测试时捕获失败日志:XCTest?
使用XCTest。测试测试结果保存在路径的TestSummaries.plist中:
/Users/smriti/Library/Developer/Xcode/DerivedData/Project_name/Logs/Test/
谁能告诉如何从上面的路径读取 TestSummaries.plist 文件的内容?
需要从上述文件中捕获结果数据(错误消息、测试用例、行号)并在函数tearDown()中写入 excel
尝试使用
NSSearchPathForDirectoriesInDomains(.AllLibrariesDirectory, .AllDomainsMask, true) -> 没有给出想要的路径。
NSBundle.mainBundle 为“Project_name/Build/Products/”而不是“/Project_name/Logs/Test/”提供路径
xctest - XCTest 条件响应
我的应用程序是一个测验。所需的回答可以是: 1. 对问题的回答 - 5 个可能的答案 2. OK 提示“正确答案” 3. OK 提示“错误答案” 4. OK 提示“Game Level is” 5. OK 提示“Game超过”
我已经记录了响应,现在已经构建了以下内容:
回应如下:
对于 1...100 中的索引 {
我想要的是放置一个 if 语句或 switch case 语句
写作
不工作
至于开关,我不知道将比较相同类型的不同值的值应该是什么
请问有人成功做过类似的吗?
ios - UIControl 的 sendActions 在测试目标中不起作用
我正在尝试测试何时调用UITextField
发送事件特殊处理程序。editingChanged
所以,为了这个目的,我通过sendActions
方法模拟了这个事件。但它在测试目标中不起作用,在项目中一切正常(运行模式 - 模拟器)。
我写了一个小例子:
在这里,我想看到“测试”打印,但是在sendActions
事件之后不会调用此处理程序。我也尝试过,expectation
但对我没有帮助。
我究竟做错了什么?
ios - XCTestExpectation 在单元测试中的正确时间/位置完成方法调用?
考虑以下单元测试:
我在已知的失败案例中遇到了一些问题。测试成功完成,尽管数据数组中应该只有 10 个项目。
如果我把[expectation fulfill]
调用放在块的底部,在XCTAssertEqual(44, data.count)
方法调用之后,测试会按预期工作并失败,直到我将值更正为 10。
这是一个已知的问题?我一直无法阅读文档说我应该在最后一刻打电话给...
json - TestCase:SwiftHTTP 库没有进行 HTTP 调用
重要事实
我忘了提到问题中的一个重要因素。我在 TestCase 中运行它。我认为这个问题与 TestCase 不等待异步完成处理程序返回有关
从迁移Alamofire
到SwiftHTTP
,因为我发现这更容易。
在 SwiftHHTP 上,无法知道生成了什么 URL,返回了什么错误。例如,我试图查看opt.debugDescription
变量,它返回了一些神秘的东西,比如描述字符串"<SwiftHTTP.HTTP: 0x60000007e540>"
我遵循的步骤
- 我已经设置
YES
为Allow Arbitrary Loads
. - 如果我粘贴
fullurl ->http://120.0.0.1:8080/myapi/Driver/getDriver?driver=2243&domain=4345&key=asdfasdf
. 即使catalina.out
在我的 mac 上运行的 tomcat 服务器上也会以调试消息响应。
但是当我在 Xcode 下的测试用例中运行它时,下面的代码不会打印任何调试打印。
- --1->、--2-->、--3-->,没有打印出来。
- 调试器断点也不止于此。
代码
编辑
即使将代码更改为https
or http://www.google.com
,结果也相同。
编辑 1从这里 尝试@Vivek's answer。
什么都没有再次打印,错误/JSON,什么都没有。
swift - 多个异步测试和期望
我有多个测试,每个测试都在使用给定参数测试不同结果的相同异步方法。
我发现对于异步测试,我们必须声明一个期望,等待期望,然后实现期望。这可以。每个测试单独完成时都能正常运行,但是当我尝试运行整个测试类时,一些测试通过,而另一些测试在正常运行和通过时崩溃或失败。
我在网上到处寻找“带有期望的 swift 3 多个测试”,每个解释期望的人都只有一个测试方法的例子。在同一个类中的多个方法中不可能有期望吗?
一个测试的例子如下:
据我所知,这是对期望的正确使用,每个测试都遵循相同的模式
根据 Rob 的要求,我将在此处提供一个 MCVE https://bitbucket.org/chirone/mcve_test 测试类使用模拟 API 管理器,但是当我使用真实的 API 管理器进行测试时,仍然会发生错误。
作为对代码的解释,视图模型与给定的 API 管理器通信,该 API 管理器调用服务器并将响应返回给视图模型,以便他解释错误或成功。
第一个测试测试空字段,视图模型验证而不是 APIManager。第二个测试测试用户名和密码是否错误 第三个测试测试用户名和密码是否有效
三个测试单独运行会运行良好,但是当整个文件运行时,我会收到一个 SIGABRT 错误,原因如下:
XCTAssertEqual 失败:("Optional(MCVE.LoginError.wrongCredentials)") 不等于 ("Optional(MCVE.LoginError.emptyFields)") -
*** -[XCTestExpectation 实现] 中的断言失败,/Library/Caches/com.apple.xbs/Sources/XCTest_Sim/XCTest-12124/Sources/XCTestFramework/Async/XCTestExpectation.m:101
*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“API 违规 - 多次调用 -[XCTestExpectation 完成] 以测试空字段。”
SIGABRT 通常发生在第二种测试方法上,如果你点击播放,那么它在 XCTest 方法之一上失败,声称它得到的错误不是它所期望的错误。
我希望 MCVE 有助于解释我的问题。
swift - 即使元素存在,XCTKVOExpectation 也会超时
我正在使用 swift、xcode 8.3.3 和 XCTest。我正在尝试使用 XCTKVOExpectation 等待屏幕上存在的元素。即使元素存在,它也总是返回超时 (2) 的结果。
这是我的代码:
当我打印 element.exists 时,它打印为 true。但是 result.rawValue 是 2 (.timedout) 增加超时值也不能解决这个问题。
我能够成功使用 XCTNSPredicateExpectation:
想知道为什么 XCTKVOExpectation 不起作用?
semaphore - 信号量与异步 API 层测试的 iOS 单元测试中的期望有什么区别
我已经使用 semaphore 和 expect 实现了,结果是一样的。两者的根本区别是什么。
// 使用期望
// 使用信号量