XCTestCase - 如何在包含String的NSTextView上断言?

时间:2018-06-01 00:58:16

标签: swift macos nstextview xctestcase xcuitest

我有一个macOS项目,我正在为。

创建UI测试

虽然按文字值查找staticTextbuttons等相对容易。使用.textViews上的下标查找(似乎)无效。

我设法使用NSTextView获得了我想要检查的.textViews.firstMatch的引用,但我无法弄清楚如何断言它的字符串值

我正在寻找像这样的东西。

XCTAssertEqual(prefs.textViews.firstMatch.stringValue, "Enter text below")

2 个答案:

答案 0 :(得分:2)

简单地value应该这样做 它在XCUIElementAttributes上可用,类型为Any?,根据元素的类型而有所不同。

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

价:

答案 1 :(得分:1)

如果打印出元素的debugDescription,您应该看到哪个参数包含您想要断言相等的值。可能它会.value你可以简单地强制成一个字符串用于你的目的。字符串遵循==等式检查,将两个字符串与一个简单的XCTAssert(originalTextViewValue == "String I want to value check against")

进行比较变得微不足道