如何检查 Jasmine 中是否 "should has text"?

How to check if "should has text" in Jasmine?

我需要做类似的事情:

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

你知道我该怎么做吗?

我知道量角器有一个"getText"功能,但是,我该如何使用它呢? 我应该做什么?:

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

谢谢!

我发现 jasmine-matchers 库在额外有用的匹配器方面非常有用。 toBeNonEmptyString() 非常适合这里(还要注意它的可读性):

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

仅供参考,这里是 underlying implementation:

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

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

如果你想检查长度并且不想使用toBeNonEmpty,那么在回调中检查它

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