我如何编写自定义消息?

时间:2015-08-26 13:05:22

标签: angularjs jasmine protractor angularjs-e2e

我试图找到一种在Protractor中创建自定义错误消息的好方法。我发现只有三种方法可以做到这一点:

  1. 使用“jasmine-custom-messages”。 但我不喜欢这种语法:(我认为如果错误消息在期望之后写入,代码看起来会更好)

    since(function(expected) { 
       return 'Number =/=:' + expected +', it == :' + this.actual; })
    .expect(column.get(0)).toEqual("7");
    
  2. 创建自定义匹配器并制作自己的消息。我也不喜欢它,因为我对一种类型的匹配器有很多不同的情况。另外,我不想重写旧的匹配器并增加我的代码。
  3. 使用语法:expect().toBe().because('my message') 那看起来很棒!但是,如果我真的明白,如果我想使用这种语法,我应该在源jasmine代码中进行更正。我认为这不是很好。 也许有人知道另一种解决我问题的方法吗?

1 个答案:

答案 0 :(得分:4)

您可以传递custom message as an extra argument to your matcher

expect(column.get(0)).toEqual("7", "This is not something I've expected");

哪会产生以下输出:

Expected something to equal 7, "This is not something I've expected".