代码之家  ›  专栏  ›  技术社区  ›  ocodo

XCTestCase-如何在包含字符串的NSTextView上断言?

  •  0
  • ocodo  · 技术社区  · 7 年前

    我有一个macOS项目,我正在为它创建UI测试。

    虽然相对容易找到 staticText , buttons ,等等。在上使用下标查找 .textViews 不起作用。

    我设法得到了一份关于 NSTextView 我想检查一下 .textViews.firstMatch 但我不知道如何断言它的字符串值。

    我在找这样的东西。

    XCTAssertEqual(prefs.textViews.firstMatch.stringValue, "Enter text below")
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   ocodo    7 年前

    仅仅 value 应该可以。
    在网上可以买到 XCUIElementAttributes 而且是典型的 Any? 这取决于元素的类型。

    XCTAssertEqual(prefs.textViews.firstMatch.value as! String, 
                   "Enter text below")
    

    裁判:

        2
  •  1
  •   christopherdrum    7 年前

    如果你打印出 debugDescription 在元素中,您应该看到哪个参数包含您希望在其上断言相等的值。很可能是这样 .value 为了你的目的,你可以把它强制成一个字符串。绳子依附于 == 相等性检查,使得仅用一个简单的 XCTAssert(originalTextViewValue == "String I want to value check against")