黄瓜,量角器测试通过,即使它是不正确的

时间:2018-06-04 15:00:30

标签: javascript testing protractor cucumber

我正在使用量角器和黄瓜(和黄瓜报告)测试我的应用程序,但是当我启动它时我遇到了问题。我检查字符串是否等于另一个字符串,但不是,我知道它。事实是,在测试发布后,测试通过但返回给我一个例外。

控制台返回:

[15:56:41] E/launcher - expected 'Login Failed: This value is not existing'
                          to equal 'Values are incorrect'
[15:56:41] E/launcher - AssertionError: expected 'Login Failed: This value is not existing'
                          to equal 'Values are incorrect'

我的stepdefinitions.js:

Then('I see the alert "Values are incorrect" for the contents which does not match the proper data',
    function (next) {

    let failed_msg = element(by.css('.faild-message'));
    failed_msg.getText().then(function(text){
        console.log('MY ALERT MESSAGE FOR SCENARIO EIGHT IS: ',text);
        expect(text.should.be.equal("Values are incorrect"));  
        next();
    });
});

console.log的输出是:

MY ALERT MESSAGE FOR SCENARIO EIGHT IS:  Login Failed: This value is not existing

有人可以帮助我吗?

PS:Cucumber报告没有显示有关此异常的任何信息,并告诉我每个测试都通过了。为什么?字符串不相等,控制台也告诉我。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你需要从这个块中做一个返回或回调(我更喜欢自己回调回调):

class Runner(model.Model):
     ....
     def total_time(self):
          return self.????.annotate(Sum('leap__time'))

class Leap(model.Model):
     runner = ForeignKey('Runner',...)
     time = models.FloatField(default=0)

因为您正在承诺并发送回调,所以需要向上返回,以便在运行代码之前步骤不会通过。