Egg框架报错:Could not find any test files matching pattern: test
发布于 7 年前 作者 JarvisQJ 5960 次浏览 来自 问答

Warning: Could not find any test files matching pattern: test No test files found ⚠️ Error: D:\works\egggo\node_modules\egg-bin\node_modules\mocha\bin_mocha --r equire=D:\works\egggo\node_modules\co-mocha\lib\co-mocha.js,–require=D:\works\e gggo\node_modules\intelli-espower-loader\intelli-espower-loader.js,–timeout=600 00 exit with code 1 ⚠️ Command Error, enable DEBUG=common-bin for detail

untitled1.png untitled2.png

19 回复

@qujinxiong 那是因为你项目没有 test 文件,然后跑 npm run test 的时候报警告了~

@okoala test文件是有的

你执行的命令是怎么样的?

从上面的日志是看到没传递过去.

@atian25

const assert = require(‘assert’); const mock = require(‘egg-mock’); const request = require(‘supertest’); describe(‘test/app/middleware/robot.test.js’, () => { let app; before(() => { // 创建当前应用的 app 实例 app = mock.app(); // 等待 app 启动成功,才能执行测试用例 return app.ready(); }); afterEach(mock.restore); it(‘should block robot’, () => { return request(app.callback()) .get(’/’) .set(‘User-Agent’, “Baiduspider”) .expect(403); }); // … }); 这是test文件。 你说的执行的命令,是指test执行命令?用的npm test

@qujinxiong 你的 npm scripts 里面的 test 是什么? 最好提供一个最小可复现的仓库.

@atian25 untitled14.png scripts是按照教程写的

@qujinxiong 给份最小化可复现代码我瞅瞅?

PS: 我们建议直接用 egg-init --type=simple 来初始化

@atian25 https://coding.net/u/fanxingdiandian/p/egggo1/git 就是根据教程试了试手动创建,只有哦这里走不通

知道问题了。

  • 你的测试目录应该 test 而不是 app/test
  • 另外,你应该配置个 .gitignore 来忽略掉 node_modules 目录,这个不应该提交到 git 的
  • 可以用 egg-init 初始化一个,然后跟自己的代码对比下。(强烈建议,我们在里面配置了很多 lint,script,cov 等最佳实践)

一看这错误就知道是 test 目录问题~ @atian25 难道是 egg-init 的宣传不到位? 感觉手动创建项目的人还挺多的~

@okoala 我就是想试试手动档

@atian25 谢谢了,刚试过了,解决了

@atian25 有点尴尬,这种问题还麻烦你半天,哈哈

@qujinxiong 手动挡里面只是为了让开发者快速熟悉 egg,做了精简,实际业务的时候还是推荐用 egg-init 来初始化。

如果这块真的想精学的话,建议学习步骤:

  • 手动跑一次 QuickStart,理解各项基础知识
  • 看 egg 基础文档
  • 通过 egg-init 初始化,翻看初始化出来的每一个文件(甚至包括 package.json 里面的每一行),理解含义。

@qujinxiong 客气~ 职责所在。实在过意不去的话(哈哈哈),求贡献一些作为新手的学习心得分享~ 帮助后来者,就不会再有类似的问题了。

@atian25 没问题,一边学一边在写总结,到时候一次性发出来。

@atian25 我们公司有蛮多项目用的node,框架是Express,希望通过Egg,把各个方面的不足完善起来。

@qujinxiong 渐进的发嘛~ 这样中间过程的一些思考点也可以及时的交流和改进~

回到顶部