XCTestCase - как утверждать на NSTextView, содержащем строку? - PullRequest
0 голосов
/ 01 июня 2018

У меня есть проект macOS, для которого я создаю тесты пользовательского интерфейса.

Хотя относительно легко найти staticText, buttons и т. Д. По их текстовому значению.Использование подстрочного поиска на .textViews не (кажется) не работает.

Мне удалось получить ссылку на NSTextView, который я хочу проверить с помощью .textViews.firstMatch, но я не могу понятькак утверждать это строковое значение.

Я ищу что-то, что работает следующим образом.

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

Ответы [ 2 ]

0 голосов
/ 01 июня 2018

Если вы распечатаете debugDescription элемента, вы должны увидеть, какой параметр содержит значение, для которого вы хотите установить равенство.Скорее всего, это будет .value, который вы можете просто привести в строку для ваших целей.Строки придерживаются == проверок на равенство, что упрощает сравнение двух строк с простым XCTAssert(originalTextViewValue == "String I want to value check against")

0 голосов
/ 01 июня 2018

Просто value должно подойти.
Доступно для XCUIElementAttributes и имеет тип Any?, который зависит от типа элемента.

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

Ссылка:

...