angularjs - 如何编写自定义消息?

标签 angularjs jasmine protractor angularjs-e2e

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

  1. 使用“ Jasmine 自定义消息”。 但我不喜欢这种语法:(我认为如果错误消息写在expect之后,代码看起来会更好)

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

最佳答案

您可以传递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".

关于angularjs - 如何编写自定义消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32227472/

相关文章:

javascript - Angularjs 使用 url 重定向到状态

java - Angular代码不会通过将id传递给JAVA(使用Spring)来删除json

AngularJS ng-attr- 不工作

javascript - 我如何将 AngularJs 与 JsBarcode 一起使用?

javascript - Karma runner 不会运行所有文件

angularjs - 有没有人找到将列表编号添加到 Protractor Describe block 的方法?

javascript - 如果 beforeAll 失败,如何跳过所有测试?使用 Jasmine 和 Protractor

javascript - Protractor :element.getText() 返回一个对象而不是 String

javascript - beforeEach 每次测试都会被调用,而不是只调用一次

css - 有没有办法检查 Protractor 中继承的 CSS 属性?