【问题标题】:How do you pass a test with XCUITest? iOS Swift你如何通过 XCUITest 的测试? iOS 斯威夫特
【发布时间】:2017-08-02 14:21:56
【问题描述】:

所以我有了这个 XCTestCase,它运行一个简单的函数,我对结果很满意,但是每次函数结束时,它都会显示“TEST FAILED”并关闭应用程序。

还有一件事,我尝试将 continueAfterFailure 布尔值更改为 true,但它仍然在失败后关闭应用程序...

我还没有找到解决方案,希望有人可以帮助我:)

谢谢

更新: 代码如下:

func loginSuccess (element: XCUIElement) {
//Entering invalid input to the text field
//App has validator a that doesn't let the input in
element.typeText("!@#$%^")

XCTAssertTrue((element.value as? String == ""), "Test Passed!")

if element.value as? String == "" {
    print ("Test Passed!") //This line works every run
} else {
    XCTFail("Invalid text can be inserted") //Managed to force fail and succeded, but not pass.
}

}

【问题讨论】:

  • 添加测试失败断点,看看是什么导致测试失败。
  • 不看代码/日志很难回答。向我们展示代码和输出。
  • 大家好,我编辑了帖子并添加了小功能的代码。我希望它清楚,如果不是 - 告诉我,我会添加其他信息。无论如何,在运行 XCTAssertTrue 后,函数继续并输入 if 语句
  • @Leo 有一个名为 testExample 的函数,它唯一做的就是调用 loginSuccess 函数。 loginSuccess 完成后,它会返回到 testExample,然后完成该功能。当它到达最后一个大括号时,它显示测试失败,调试没有帮助。

标签: ios xcode xctest uitest xctestcase


【解决方案1】:

你把事情颠倒了。 XCTAssertTrue 评估表达式为真并记录提供的消息,如果表达式为假,则测试失败。

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 2017-07-22
    • 2017-03-24
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    相关资源
    最近更新 更多