量角器:即使在我推动弦乐之后,列表仍然是空的

时间:2017-09-01 15:10:45

标签: javascript jasmine protractor

我尝试使用从我的网页获取的字符串来填充列表。我只想添加字符串,如果它们不在列表中。

这是我的代码(大大简化):

let globalList = [];
it('should populate list', () => {
     getListOfStrings().then(list => {
         list.map(listItem => {
             if(globalList.indexOf(listItem) === -1){
                  globalList.push(listItem);
             }
         });
     });
     expect(globalList).toBe(["Test", "Test2", "Test3"]);
});

期望声明说globalList仍然是空的。 我确保getList()实际上返回一个字符串列表。而且我试过没有if语句(虽然我不知道这将是一个什么问题)。 我对量角器比较陌生,如果我错过任何明显的东西,我很抱歉。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

expect(globalList)在项目被推送到globalList之前运行。 为了解决这个问题,我添加了then,如此:

let globalList = [];
it('should populate list', () => {
     getListOfStrings().then(list => {
         list.map(listItem => {
             if(globalList.indexOf(listItem) === -1){
                  globalList.push(listItem);
             }
         });
     }).then(() => {
         expect(globalList).toBe(["Test", "Test2", "Test3"]);
     })
});