Когда я пытаюсь запустить тест npm с помощью mocha, в моем cmd написано «Ошибка: не удается найти путь к модулю». Кто-нибудь знает, как решить эту проблему? - PullRequest
2 голосов
/ 02 июля 2019

Когда я пытаюсь запустить npm test с mocha, в моем cmd написано Error: Cannot find module 'path'

Я абсолютный новичок в этой области и просто пытаюсь написать действительно простой код.Я использую Mocha в качестве своего тестового фрейма, вчера он работал совершенно нормально, а сегодня не работает.

Я пробовал npm install -D @types/path, не получилось.

Вот мой код в файле Inbox.test.js:

const assert = require('assert');
const ganache = require('ganache-cli');
const Web3 = require('web3');//capitalize when working with a constructor function
const web3 = new Web3(ganache.provider());//local instance
const {interface, bytecode} = require('../compile');

let accounts;
let inbox;
beforeEach(async ()=>{
    //Get a list of all accounts
    web3.eth.getAccounts()
    accounts = await web3.eth.getAccounts();

    //Use one of the accounts to deploy 
    //the contrct
    inbox = await new web3.eth.Contract(JSON.parse(interface))
        .deploy({data: bytecode, arguments:['Hi there!']})
        .send({from: accounts[0], gas:'1000000'});//account[0] is the one
        //who is really deploying the contract
});

describe('Inbox', () => {
    it('deploys a contract', ()=>{
        console.log(inbox);
    });
});

Вот код в моемФайл compile.js:

const path = require('path');
const fs = require('fs');
const solc = require('solc');

const inboxPath = path.resolve(__dirname, 'contract', 'Inbox.sol');
const source = fs.readFileSync(inboxPath, 'utf8');

module.exports = solc.compile(source,1).contracts[':Inbox'];

Тестовый фрейм Mocha должен пройти через мой код и распечатать умный контракт, который я создал, вместо этого он показывает ошибку, которая говорит, что я пропускаю модуль 'path'.

Вот ошибка, которую я получаю:

Error: Cannot find module 'path '
Require stack:
- C:\Users\Alex Zhu\Desktop\Inbox\compile.js
- C:\Users\Alex Zhu\Desktop\Inbox\test\Inbox.test.js
- C:\Users\Alex Zhu\Desktop\Inbox\node_modules\mocha\lib\mocha.js
- C:\Users\Alex Zhu\Desktop\Inbox\node_modules\mocha\lib\cli\one-and-dones.js
- C:\Users\Alex Zhu\Desktop\Inbox\node_modules\mocha\lib\cli\options.js
- C:\Users\Alex Zhu\Desktop\Inbox\node_modules\mocha\lib\cli\cli.js
- C:\Users\Alex Zhu\Desktop\Inbox\node_modules\mocha\lib\cli\index.js
- C:\Users\Alex Zhu\Desktop\Inbox\node_modules\mocha\bin\_mocha
...