在 github 中运行工作流时出现错误

如何解决在 github 中运行工作流时出现错误

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

我不知道该怎么做才能让它工作。

我的包裹

{
  "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',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:\a\instantgram.github.io\instantgram.github.io\api
> 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:\npm\cache\_logs\2021-03-18T20_50_41_019Z-debug.log
Error: Process completed with exit code 1.

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?