0

将cypress.io与 CoffeeScript 一起使用时遇到问题。测试失败,但有以下异常:

describe('testFn', function() {
                ^
ParseError: reserved word "function"

代码:

describe 'testFn', () ->
    it 'testIt', () ->
        # a test

cypress.io 支持 CoffeeScript,如文档中所示

我安装了 cypress.io 依赖项,并尝试将它与@cypress/coffee-script 包一起使用,但它似乎不起作用。

包.json:

...
"cypress": "^1.0.3",
"@cypress/coffee-script": "^0.1.2",
...

使用具有转换后的 CoffeeScript 代码的 .js 文件时,测试会运行:

describe('testFn', function() {
  return it('testIt', function() {
    expect(true).to.equal(true);
  });
});

这里可能是什么问题?

4

1 回答 1

1

Cypress 测试在 CoffeeScript 中绝对有效。作为 Cypress 的开发人员,我知道是因为我们几乎所有自己的 Cypress 测试都是用 CoffeeScript 编写的。

话虽如此,如果您使用的是 CoffeeScript 2,则不支持此功能(但即将推出)。

您不需要包含我们的内部@cypress/coffee-script包。我们只将此作为我们自己项目的依赖项,以便我们应用程序的每个部分都可以共享相同的 CoffeeScript 版本。

我目前的建议:

  1. 仔细检查测试文件的文件扩展名是.coffee
  2. 如果您有很多测试代码,请简化它。一次删除 1 行,直到它起作用。

如果您复制/粘贴它,下面的测试代码应该可以工作:

describe 'testFn', () ->
  it 'testIt', () ->
    expect(true).to.equal(true)
于 2017-11-02T19:31:26.590 回答