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



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

虽然通过文本值相对容易找到staticTextbuttons等。 对.textViews使用下标查找(似乎(不起作用。

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

我正在寻找这样工作的东西。

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

只需value应该可以。
它在XCUIElementAttributes上可用,并且属于Any?类型,根据元素的类型而有所不同。

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

裁判:

  • https://developer.apple.com/documentation/xctest/xcuielementattributes

如果打印出元素的debugDescription,则应看到哪个参数包含要断言相等的值。很可能它会.value您可以简单地强制进入字符串以达到您的目的。字符串遵循==相等性检查,因此只需一个简单的XCTAssert(originalTextViewValue == "String I want to value check against")即可比较两个字符串变得微不足道