команда не найдена: jest
У меня есть такой тестовый файл: (я использую create-реагировать на приложение)
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/Calculator';
import { getAction, getResult } from './actions/'
import {shallow} from 'enzyme';
import toJson from 'enzyme-to-json';
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
Enzyme.configure({ adapter: new Adapter() });
it('renders without crashing', () => {
const wrapper = shallow(<App />)
expect(toJson(wrapper)).toMatchSnapshot();
});
it('displays the choosen operator', () => {
const action = {
type: 'GET_ACTION',
operator: '+'
};
expect(getAction("+")).toEqual(action)
})
it('displays the typed digit', () => {
const action = {
type: 'GET_RESULT',
n: 3
};
expect(getResult(3)).toEqual(action);
})
it('checks that the clickevent for getNumber is called',() => {
const clickEvent = jest.fn();
const p = shallow(<p data-n="1" onClick={clickEvent}>1</p>)
p.simulate('click')
expect(clickEvent).toBeCalled();
})
и packaje.json:
{
"name": "my-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-scripts": "1.1.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
// "test": "react-scripts test --env=jsdom",
"test": "jest",
"eject": "react-scripts eject"
},
"devDependencies": {
"enzyme": "^3.3.0",
"enzyme-adapter-react-16": "^1.1.1",
"enzyme-to-json": "^3.3.3",
"jest": "^22.4.3"
}
}
когда я запускаю "шутку --updateSnapshot", я получаю:
command not found: jest
но шутка установлена.
Ответы
Ответ 1
Jest
установлен, но, скорее всего, находится в вашем ./node_modules/.bin
. Вы можете добавить это в свою команду ./node_modules/.bin/jest --updateSnapshot
. Поскольку у вас уже есть jest
в виде команды scripts
в вашем package.json
вы также можете запустить ее с npm test -- --updateSnapshot
. npm автоматически добавляет ./node_modules/.bin
к вашему пути.
Ответ 2
Вам нужно запустить его так:
./node_modules/.bin/jest
или запустить npm test
Ответ 3
Установите интерфейс командной строки Jest (Jest CLI):
npm install --save-dev jest-cli
Затем запустите команду jest. Работа для меня в экземпляре linux докерером в Windows 10.
Ответ 4
Я столкнулся с подобной проблемой. Я исправил это, установив шутку во всем мире.
npm install -g jest
Ответ 5
просто используйте команду
npm test
или npm t
Ответ 6
В моем случае npm по какой-то причине не установил команду jest
.
Чтобы исправить это:
- Я удалил
node_modules/jest
- Перезапустил
npm install
и npm install
команду jest
.
Ответ 7
Удаление node_modules и запуск npm install
снова исправили это для меня
Также "новая" команда npm ci
может исправить это, поскольку она удаляет (или очищает) узлы модулей и выполняет чистую установку каждый раз, плюс это быстрее по сравнению с удалением node_modules
вручную и переустановкой