我在github中运行工作流时遇到错误



当我在bash或命令终端上运行单元测试时,它们都通过了,但当我尝试使用GitHub工作流运行它时,它会给我一个错误,它说:'Moa'未被识别为内部或外部命令

我不知道该怎么做才能让它发挥作用。

我的包裹

{
"name": "api",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www",
"test": "mocha --recursive --exit"
},
"dependencies": {
"bcryptjs": "^2.4.3",
"cookie-parser": "~1.4.4",
"cors": "^2.8.5",
"debug": "~2.6.9",
"express": "~4.16.1",
"express-session": "^1.17.1",
"express-validator": "^5.3.1",
"http-errors": "~1.6.3",
"jade": "~1.11.0",
"mongoose": "^5.11.18",
"morgan": "~1.9.1",
"multer": "^1.4.2",
"passport": "^0.4.1",
"passport-local": "^1.0.0"
}
}

我的测试文件

const expect = require('chai').expect;
const request = require('supertest');

const app = require('../app');
describe('Register users 1 & 2', () => {
it('Test user 1 succesfully registered', (done) => {
request(app).post('/users/register')
.send({username: 'Tester1', password: 'tester'})
.then((res) => {
const body = res.body;
expect(body).to.contain.property('response');
done();
})
.catch((err) => done(err))
})
it('Test user 2 succesfully registered', (done) => {
request(app).post('/users/register')
.send({username: 'qwer', password: 'tester'})
.then((res) => {
const body = res.body;
expect(body).to.contain.property('response');
done();
})
.catch((err) => done(err))
})

})

describe('Login user 1', () => {
it('Test user 1 succesfully logged in', (done) => {
request(app).post('/login')
.send({username: 'Tester1', password: 'tester'})
.then((res) => {
const body = res.body;
expect(body).to.contain.property('_id');
expect(body).to.contain.property('username');
expect(body).to.contain.property('password');
done();
})
.catch((err) => done(err))
})
})

describe('Following user', () => {
it('User 1 login', (done) => {
request(app).post('/login')
.send({username: 'Tester1', password: 'tester'})
.then((res) => {
const body = res.body;
expect(body).to.contain.property('_id');
expect(body).to.contain.property('username');
expect(body).to.contain.property('password');
done();
})
.catch((err) => done(err))
request(app).post('/follow/qwer')
})
})

我在github 中的工作流中遇到的错误

Run npm run test
> api@0.0.0 test D:ainstantgram.github.ioinstantgram.github.ioapi
> mocha --recursive --exit
'mocha' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! api@0.0.0 test: `mocha --recursive --exit`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the api@0.0.0 test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     C:npmcache_logs2021-03-18T20_50_41_019Z-debug.log
Error: Process completed with exit code 1.

当我在bash或命令终端上运行单元测试时,它们都通过了,但当我尝试使用GitHub工作流运行它时,它会给我一个错误,它说:"mocha"不被识别为内部或外部命令。

您需要将mocha添加到您的依赖项中,以便您的github操作可以在执行测试之前安装它。

最新更新