gpt4 book ai didi

angular - 使用 Protractor 以 Angular 2 进行端到端测试

转载 作者:行者123 更新时间:2023-12-03 21:44:09 25 4
gpt4 key购买 nike

我正在进行 Angular 2 e2e 测试。我需要有条件地添加 it block 。必须检查一个计数值如果它的值大于 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 部分。任何帮助将不胜感激。

最佳答案

那是因为 it, describe 和所有的 jasmine 描述符都是在你​​开始测试的时候处理的,这意味着你的条件会在测试开始之前被测试测试已获取值,这就是为什么它总是处理相同的值,因此结果相同。

您可以通过将您的条件移动到一个普通的 it block 中来避免它:

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

话虽这么说,但我不明白您的逻辑,因为您基本上是在做“如果计数大于 0,则断言它大于 0,否则不断言”,这是一个不会失败的测试。

关于angular - 使用 Protractor 以 Angular 2 进行端到端测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49570643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com