【问题标题】:jasmine-node cannot find spec modulejasmine-node 找不到规范模块
【发布时间】:2014-02-21 18:40:00
【问题描述】:

我有一个用 coffeescript 编写的准系统规范:

# test/foobar.spec.coffee

describe "falsy test", ->
  it "should fail", ->
    expect(true).toBe false

当我从项目目录运行jasmine-node --coffee test/foobar.spec.coffee 时,出现以下错误:

Exception loading: /Users/myuser/programming/project/test/foobar.spec.coffee
{ [Error: Cannot find module '/Users/myuser/programming/project/test/foobar.spec'] code: 'MODULE_NOT_FOUND' }

我正在使用:

node --version
v0.10.8

jasmine-node --version
1.13.0

有人知道为什么会这样吗?

【问题讨论】:

  • 我也有同样的问题。茉莉花节点说Exception loading: /home/user/code/node-spec/transition_spec.coffee { [Error: Cannot find module '/home/user/code/node-spec/transition_spec'] code: 'MODULE_NOT_FOUND' }
  • @Dmitry Kolobov 看起来这可能已在最新版本中解决。尝试从命令行运行“npm update -g”以检索最新版本,然后重新运行您的规范。
  • @Dmitry Kolobov 我目前使用的是 1.13.1 版。检查'jasmine-node --version'的输出。
  • @A-Dubb,看来你是对的。使用 jasmine-node 1.14.3 一切都按预期工作。谢谢!
  • @Dmitry Kolobov 没问题。

标签: node.js coffeescript jasmine node-modules jasmine-node


【解决方案1】:

我在使用其他软件包(require、supertest)时也遇到了类似的问题。似乎如果您全局安装它们(npm install -g),那么您会收到此错误。使用本地安装(没有 -g 选项)一切似乎都很正常。

【讨论】:

    【解决方案2】:

    我以一种奇怪的方式遇到了这个错误。

    以下代码有效,

    function someFunc(){
         //do something
    }
    
    describe(testCases.testCaseRegister.name, async function(){
        someFunc();
    
        //ensure ample time for database to be setup properly
        await new Promise(done => setTimeout(done, 5000));
    }
    

    但是当我更改为这个时,会出现错误,并且偶尔会出现“语法错误:await 仅在异步函数中有效”

    function someFunc(){
         //do something
         await new Promise(done => setTimeout(done, 5000));
    }
    
    describe(testCases.testCaseRegister.name, async function(){
        someFunc();
    
    }
    

    切换回我的原始代码,解决了所有这些错误。

    【讨论】:

    • 这与问题无关。
    猜你喜欢
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    • 2016-06-29
    相关资源
    最近更新 更多