Как проверить, не соответствует ли строка с помощью транспортира

Я переношу свой набор тестов karma-ng-scenario в транспортир. Я хотел бы сделать что-то вроде

// karma-ng-scenario
expect(element('legend').text()).not().toBe("LOGIN_CONNECT");

в транспортном пути. Но, похоже, нет функции not().

Я использую angular-translate для привязки строки LONGIN_CONNECT к нескольким языкам, и я хочу проверить, переводится ли строка.

Более глобально, есть ли способ, если что-то другое?... не имеют класса, не существует на странице, не выбрано,...

Ответ 1

Конечно, стоит посмотреть API docs. У меня эти открытые почти все время. Существует множество функций веб-драйвера, которые можно использовать, например, isEnabled(), isDisplayed(), isSelected() и т.д. Транспортир использует синтаксис Jasmine, поэтому вы можете использовать ".toBe(false)", чтобы утверждать, что вещи ложны. Чтобы проверить классы, вы можете сделать что-то вроде:

expect(myElement.getAttribute('class')).toContain('my-class-name');

Чтобы сравнить строки и утверждать, что они НЕ соответствуют, вы можете использовать .not. Jasmine docs говорят:

Каждый критерий сопоставления может быть инвертирован путем добавления .not:

ожидать (х).not.toEqual(у); сравнивает объекты или примитивы x и y и если они не эквивалентны

Ответ 2

Я использую следующее, чтобы проверить соответствие NOT:

expect(element('legend').text() === "LOGIN_CONNECT").toBe(false);