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
@qujinxiong 那是因为你项目没有 test 文件,然后跑 npm run test 的时候报警告了~
@okoala test文件是有的
你执行的命令是怎么样的?
从上面的日志是看到没传递过去.
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 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 渐进的发嘛~ 这样中间过程的一些思考点也可以及时的交流和改进~