Befehl nicht gefunden: Scherz
Ich habe eine test-Datei, etwa so: (ich bin mit create-reagieren-app)
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();
})
und ein 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"
}
}
wenn ich "Scherz --updateSnapshot" ich:
command not found: jest
aber Scherz installiert ist.
- Warum haben Sie kommentieren Sie die test-Skript, das geht mit create-reagieren-app? Das sollte laufen-Scherz, nur gut für Sie.
- Ich habe versucht, yo-update-snapshots ist fehlgeschlagen, aber nicht arbeiten ("jest" Befehl nicht gefunden" nach der Ausführung Scherz --updateSnapshot)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jest
installiert ist, aber es ist wahrscheinlich in Ihrem./node_modules/.bin
- Verzeichnis. Sie können den anfügen, die auf Ihren Befehl./node_modules/.bin/jest --updateSnapshot
. Da Sie bereitsjest
alsscripts
- Befehl in derpackage.json
können Sie auch mitnpm test -- --updateSnapshot
. npm fügt automatisch./node_modules/.bin
auf Ihrem Weg.test
undstart
sind spezielle Felder inscripts' that can be executed without
npm führen.
npm-test " ist der gleiche Befehl wienpm run test
Müssen Sie führen es auf diese Weise :
oder laufen
npm test
Installieren der Scherz command-line-interface (Scherz CLI):
Führen Sie dann den Scherz Befehl. Für mich arbeiten in einer linux-Instanz von docker auf Windows 10.
Lief ich in ähnliches Problem. Ich habe es behoben durch die Installation Scherz Global.
verwenden Sie einfach den Befehl
npm test
odernpm t
In meinem Fall, npm nicht installieren
jest
Befehl aus irgendeinem Grund.Um dies zu beheben:
node_modules/jest
Verzeichnisnpm install
und bekam diejest
Befehl installiert.