CNode

Egg框架报错:Could not find any test files matching pattern: test

问答
JJarvisQJ发布于9 年前最后回复9 年前19 回复6591 浏览0 收藏

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)

O
okoala#1·9 年前

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

A
atian25#3·9 年前

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

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

J
JarvisQJ#5·9 年前
A
atian25#6·9 年前
引用 JarvisQJ@atian25 没问题,一边学一边在写总结,到时候一次性发出来。

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

J
JarvisQJ#7·9 年前
引用 atian25你执行的命令是怎么样的? 从上面的日志是看到没传递过去.

@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

A
atian25#8·9 年前
引用 JarvisQJ@atian25 const assert = require('assert'); const mock = require('egg mock'); const request = req...

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

A
atian25#10·9 年前

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

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

A
atian25#12·9 年前

知道问题了。

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

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

J
JarvisQJ#17·9 年前
引用 atian25@okoala https://github.com/eggjs/egg/pull/1042/files

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

A
atian25#18·9 年前
引用 JarvisQJ@atian25 谢谢了,刚试过了,解决了

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

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

  • 手动跑一次 QuickStart,理解各项基础知识
  • 看 egg 基础文档
  • 通过 egg-init 初始化,翻看初始化出来的每一个文件(甚至包括 package.json 里面的每一行),理解含义。
A
atian25#19·9 年前
引用 JarvisQJ@atian25 有点尴尬,这种问题还麻烦你半天,哈哈

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

参与回复
登录后即可参与回复。登录