使用量角器以角度2进行端到端测试

时间:2018-03-30 07:57:42

标签: angular protractor e2e-testing

我正在进行角度2 e2e测试。我需要有条件地添加it块。必须检查计数值如果其值大于0则应运行测试,否则应运行另一个。这是代码:

describe('Check insiders:', function () {
  beforeEach(function (done) {
    element(by.css('span.insider-count')).getText().then(function(total){
      count = total;
      console.log(count);
      //browser.pause();
      done();
    });
  });
  if (count > 0) {
    it('insiders found', () => {
      expect(count).toBeGreaterThan(0);
    });
  } else {
    it('No insiders found', () => {
      // do nothing
      //expect(count).toBe(0);
    });
  }
});

即使count变量的值大于零,它也始终运行else部分。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

这是因为当您开始测试时会处理itdescribe和所有jasmine描述符,这意味着您的条件将在测试获取值之前进行测试,这就是为什么它的原因始终处理相同的值,因此结果相同。

您可以通过在普通it区域内移动您的条件来避免它:

    it('insiders test', () => {
      if(count > 0){
          expect(count).toBeGreaterThan(0);
      } else {
          expect(true).toBe(true);
      }
    });

话虽如此,我不明白你的逻辑,因为你基本上做“如果计数是> 0,断言它是> 0,否则不要”这是一个不能测试的失败。