测试列表中的项目
Testing items in a list
我想测试添加到列表中的项目是否具有某种价值。我当前的测试如下:
containerDetail.openItemAddModal();
element(by.css('[ng-click="form.section = \'batch\'"]')).click();
element(by.model(batchModel)).sendKeys(batchEntry); // we insert the batch items here
element(by.buttonText('Add')).click();
expect(element.all(by.repeater('item in detail.container.items')).count()).toEqual(6);
// Would like to test that each item has some text
// thinking something like this:
element.all(by.repeater('item in detail.container.items')).each(function(item) {
item.getText().then(function(text) {
expect(text).toBeTruthy();
});
});
我一直在谷歌上搜索执行此操作的好方法,但没有想出任何办法。
each()
非常适合这里。我会使用 jasmine-matchers
中的 toBeNonEmptyString()
匹配器来断言有一个非空文本:
element.all(by.repeater('item in detail.container.items')).each(function(item) {
expect(item.getText()).toBeNonEmptyString();
});
此外,如果您知道添加到列表中的预期值,则可以使用 map()
:
var items = element.all(by.repeater('item in detail.container.items')).map(function (item) {
return item.getText();
});
expect(items).toEqual(["Value 1", "Value 2", "Value 3", "Value 4", "Value 5", "Value 6"]);
我想测试添加到列表中的项目是否具有某种价值。我当前的测试如下:
containerDetail.openItemAddModal();
element(by.css('[ng-click="form.section = \'batch\'"]')).click();
element(by.model(batchModel)).sendKeys(batchEntry); // we insert the batch items here
element(by.buttonText('Add')).click();
expect(element.all(by.repeater('item in detail.container.items')).count()).toEqual(6);
// Would like to test that each item has some text
// thinking something like this:
element.all(by.repeater('item in detail.container.items')).each(function(item) {
item.getText().then(function(text) {
expect(text).toBeTruthy();
});
});
我一直在谷歌上搜索执行此操作的好方法,但没有想出任何办法。
each()
非常适合这里。我会使用 jasmine-matchers
中的 toBeNonEmptyString()
匹配器来断言有一个非空文本:
element.all(by.repeater('item in detail.container.items')).each(function(item) {
expect(item.getText()).toBeNonEmptyString();
});
此外,如果您知道添加到列表中的预期值,则可以使用 map()
:
var items = element.all(by.repeater('item in detail.container.items')).map(function (item) {
return item.getText();
});
expect(items).toEqual(["Value 1", "Value 2", "Value 3", "Value 4", "Value 5", "Value 6"]);