2017-09-27 155 views
0

我创建了一个版本为1.4.0的create-react-app的React应用程序,并在IntelliJ中打开了生成的项目。现在我试图在IntelliJ中运行生成的测试。当我这样做时,我得到以下输出:在IntelliJ IDEA中运行Jest测试

/usr/bin/node /home/l/src/hello-react/node_modules/jest/bin/jest --config {\"rootDir\":\"/home/l/src/hello-react\",\"transformIgnorePatterns\":[\"/node_modules/\",\"^/home/l/bin/idea-IU-172.3544.35/plugins/JavaScriptLanguage/helpers\"],\"unmockedModulePathPatterns\":[\"^/home/l/bin/idea-IU-172.3544.35/plugins/JavaScriptLanguage/helpers\"]} --colors --setupTestFrameworkScriptFile /home/l/bin/idea-IU-172.3544.35/plugins/JavaScriptLanguage/helpers/jest-intellij/lib/jest-intellij-jasmine.js --testPathPattern ^/home/l/src/hello\-react/src/App\.test\.js$ --testNamePattern "^(test)?renders without crashing$" 
FAIL src/App.test.js 
    ● Test suite failed to run 

    /home/l/src/hello-react/src/App.test.js: Unexpected token (7:18) 
     5 | it('renders without crashing',() => { 
     6 | const div = document.createElement('div'); 
     > 7 | ReactDOM.render(<App />, div); 
      |     ^
     8 | }); 
     9 | 

Test Suites: 1 failed, 1 total 
Tests:  0 total 
Snapshots: 0 total 
Time:  2.73s 
Ran all test suites matching /^/home/l/src/hello\-react/src/App\.test\.js$/ with tests matching "^(test)?renders without crashing$". 

Process finished with exit code 1 
Empty test suite. 

我只运行生成的代码。我没有修改它或写我自己的任何代码。我需要做什么才能在IntelliJ IDEA中运行此测试?

仅供参考,这里有重要的文件:

App.test.js

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import App from './App'; 

it('renders without crashing',() => { 
    const div = document.createElement('div'); 
    ReactDOM.render(<App />, div); 
}); 

App.js

import React, { Component } from 'react'; 
import logo from './logo.svg'; 
import './App.css'; 

class App extends Component { 
    render() { 
    return (
     <div className="App"> 
     <div className="App-header"> 
      <img src={logo} className="App-logo" alt="logo" /> 
      <h2>Welcome to React</h2> 
     </div> 
     <p className="App-intro"> 
      To get started, edit <code>src/App.js</code> and save to reload. 
     </p> 
     </div> 
    ); 
    } 
} 

export default App; 

的package.json

{ 
    "name": "hello-react", 
    "version": "0.1.0", 
    "private": true, 
    "dependencies": { 
    "react": "^16.0.0", 
    "react-dom": "^16.0.0", 
    "react-scripts": "1.0.13" 
    }, 
    "scripts": { 
    "start": "react-scripts start", 
    "build": "react-scripts build", 
    "test": "react-scripts test --env=jsdom", 
    "eject": "react-scripts eject" 
    } 
} 

回答

1

开玩笑运行配置选择:

jest-package: react-scripts 
jest options: --env=jsdom 
+0

感谢您的答案。我今天正在做别的事情。希望下周我会回来。我会尽可能地发送upvotes/accept,因此请耐心等待;-) –

+0

当我选择react-scripts作为Jest包时,我得到错误ReferenceError:document is not defined。 –

+0

这两个选项奏效! –

相关问题