首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简单使用时,Sinon找不到模块'@sinonjs/referee-sinon‘

简单使用时,Sinon找不到模块'@sinonjs/referee-sinon‘
EN

Stack Overflow用户
提问于 2019-02-16 12:04:03
回答 2查看 1.6K关注 0票数 6

我是SinonJs的初学者,当我尝试写一些demo代码时,它不能工作,我不知道为什么。

app.js常量db =需要(‘./db’);

代码语言:javascript
复制
    module.exports.signUpUser = (user) => {
        db.saveUser(user.email, user.password);
    }

app.test.js

代码语言:javascript
复制
    const sinon = require('sinon');
    // without any other codes, it will throw Error: Cannot find module '@sinonjs/referee-sinon'

我使用mocha来运行测试。

package.json

代码语言:javascript
复制
{
  "name": "sinon-test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "mocha **/*.test.js"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "mocha": "^5.2.0",
    "sinon": "^7.2.3"
  }
}
EN

回答 2

Stack Overflow用户

发布于 2020-03-02 23:43:28

我需要查看整个目录结构,但这可能是因为"scripts": { "test": "mocha **/*.test.js" }

正在拾取'./node_modules/@sinonjs/‘中的意外测试文件。

更改测试脚本,以便仅包含源目录中的测试。例如。

"test": "mocha './src/**/*.test.js'"

"test": "mocha './{,!(node_modules)/**}/*.test.js'"

票数 8
EN

Stack Overflow用户

发布于 2019-04-12 04:53:48

很可能mocha找不到你的测试文件。如果不知道你的文件夹结构,就很难判断。但是,您应该始终在npm脚本中使用quote your globs。不过,我不确定这是否能解决您的问题。我认为这取决于您的*.test.js文件所在的位置。试着简化,而不是使用glob开始。只需指定文件夹。例如,如果您的测试文件位于src目录中,请使用

代码语言:javascript
复制
"test": "mocha './src/*.test.js'"

如果你打算在src下有子目录,你可以使用

代码语言:javascript
复制
"test": "mocha './src/**/*.test.js'"

如果您不想使用单引号,可以像这样转义引号

代码语言:javascript
复制
"test": "mocha \"./src/**/*.test.js\""

最终,当我在项目的根目录和子文件夹中有测试文件时,我只需像这样指定这两者:

代码语言:javascript
复制
"test": "mocha  *.test.js './src/**/*.test.js'"

最终,我喜欢在严格模式下运行所有测试,因此我的测试命令将如下所示:

代码语言:javascript
复制
"test": "mocha --use_strict  *.test.js './src/**/*.test.js'"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54719793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档