3

мне нужно сделать что-то вроде:Как проверить, должен ли «иметь текст» в Жасмине?

expect(theElement.hasText()).toBe(true); 

Вы знаете, как я могу это сделать?

Я знаю, что есть функция getText в транспортире, но как я могу ее использовать? Должен ли я ?: ?:

expect(theElement.getText().lenght > 0).toBe(true); 

Спасибо!

ответ

6

Я нахожу jasmine-matchers библиотека очень полезна с точки зрения дополнительных полезных помощников. toBeNonEmptyString() является идеальным решением здесь (также обратите внимание, как читаемое это):

expect(theElement.getText()).toBeNonEmptyString(); 

FYI, вот underlying implementation:

matchers.toBeNonEmptyString = function() { 
    return matchers.toBeString.call(this) && 
    this.actual.length > 0; 
}; 

Это вполне надежно: он проверяет тип и длину ,

+0

Это было ... тааак красиво! Большое спасибо! –

0

Если вы хотите, чтобы проверить длину и не хотите использовать toBeNonEmpty, а затем проверить его в функцию обратного вызова

element(by.id('element_id')).getText().then(function (data) { 
    expect(data.length).toBeGreaterThan(0); 
}); 
Смежные вопросы