CoffeeScript中的量角器测试产生“SyntaxError:unexpected by”?

时间:2014-06-07 14:52:20

标签: javascript angularjs coffeescript jasmine protractor

我正在尝试在CoffeeScript中编写以下Protractor测试:

describe "tests", ->

  browser.get "/"

  it "should display Login page", ->
    expect(element(by.css("h1")).getText()).toBe "Login"

然而,CoffeeScript吐出了这个错误:

  

SyntaxError:

意外

解决方案?

2 个答案:

答案 0 :(得分:12)

就像@meagar说保留它一样,你可以在onPrepare块中的量角器配置中对它进行别名:

require('coffee-script/register');

exports.config = {
  ....

  // by is reserved in coffee script
  onPrepare: function() {
    global.By = global.by;
  }
}

然后

expect(element(By.css("h1")).getText()).toBe "Login"

答案 1 :(得分:3)

by是CoffeeScript中的保留字,用于指定循环增量:

evens = (x for x in [0..10] by 2)

使用其他变量名称。