如何检查Jasmine中“应该有文字”吗?

时间:2015-04-06 18:43:01

标签: javascript jasmine protractor functional-testing end-to-end

我需要做类似的事情:

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

你知道我该怎么办?

我知道有一个" getText"在量角器中起作用,但是,我该如何使用它? 我应该这样做吗?:

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

谢谢!

2 个答案:

答案 0 :(得分:7)

我发现jasmine-matchers库对其他有用的匹配器非常有帮助。 toBeNonEmptyString()非常适合(也请注意它的可读性):

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

仅供参考,这是underlying implementation

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

非常可靠:它检查类型和长度

答案 1 :(得分:0)

如果您想查看长度并且不想使用toBeNonEmpty,请在回调中查看

element(by.id('element_id')).getText().then(function (data) {
  expect(data.length).toBeGreaterThan(0);
});