2016-11-10 23 views
6

Tôi gặp phải lỗi nhập kỳ lạ khi tôi thử kiểm tra ứng dụng gốc phản ứng của mình với sự vui nhộn. Tôi có babel-jest, babel-preset-reaction-native, jest, jest-react-native và phản ứng-test-render tất cả các cài đặt nhưng nhận được thông báo lỗi này khi tôi chạy thử nghiệm npm.Mã thông báo nhập không mong muốn - thử nghiệm Phản ứng gốc với Jest

bộ ● Thử nghiệm thất bại trong việc chạy

/Users/maftalion/www/stars20/kiosk/node_modules/native-base/index.js:4 
import Drawer from './Components/vendor/react-native-drawer'; 
^^^^^^ 
**SyntaxError: Unexpected token import** 

    at transformAndBuildScript (node_modules/jest-runtime/build/transform.js:316:10) 
    at Object.<anonymous> (src/routes/Identification.js:3:17) 
    at Object.<anonymous> (src/routes/router.js:4:21) 

thử nghiệm Suites: 1 thất bại, 1 trôi qua, 2 tổng Các xét nghiệm: 1 trôi qua, 1 tổng Snapshots: 1 trôi qua, 1 tổng Thời gian: 1.011s

Trả lời

5

Đã tìm ra, về cơ bản sẽ ném bất kỳ mô-đun nút nào sử dụng cú pháp es6 trong transformIgnorePatterns.

"transformIgnorePatterns": [ "node_modules/(?! phản ứng bản địa | bản địa-base | phản ứng-clone-tham chiếu phần tử)" ],

+2

Thêm ngữ cảnh về cách giải quyết này: https://github.com/GeekyAnts/NativeBase/issues/396#issuecomment -270116326 – dadads

1

Hãy thử thêm transformIgnorePatterns để package.json của bạn:

{ 
    "name": "MyAwesomeApp", 
    ... 
    "jest": { 
    "transformIgnorePatterns": ["/node_modules/"] 
    } 
} 

Đối với tôi đùa làm việc ra khỏi hộp , tuy nhiên:

$ react-native init MyAwesomeApp 
$ cd MyAwesomeApp 
$ npm test 
... 
Tests:  2 passed 

Tôi đang sử dụng React Native v0.37.0.

+0

Yea khi tôi tạo ra một ứng dụng RN mới jest làm việc tốt quá, không biết tại sao nó mang lại cho tôi các vấn đề. transformIgnorePatterns làm cho cả hai kiểm tra của tôi không thành công –

+0

Đặt nó thành "/ node_modules /" sẽ không hoạt động, vì nó chỉ thị cho Jest không phải transpile tất cả thư viện của bên thứ ba. Đây cũng là giá trị cấu hình mặc định, vì vậy nó không thực sự thay đổi bất cứ điều gì. Xem https://facebook.github.io/jest/docs/configuration.html#transformignorepatterns-array-string – dadads

0

Tôi tìm thấy câu trả lời cho trước đó đã không giải quyết Unexpected token import lỗi trong các bài kiểm tra chính nó, nếu chúng được viết bằng ES6 (như các bài kiểm tra bản mẫu được tạo bởi Ignite CLI sau ignite new MyProject).

Cuối cùng tôi quản lý để loại bỏ lỗi ES6 liên quan đến bằng cách thêm vào các nhiệm vụ test trong package.json:

"test": "NODE_ENV=test jest --no-cache" 

Tôi đang sử dụng RN 0.45.1, Node 7.10.1 (và 8.1.2), Sợi 0.24.6 và jest 20.0.4

PS: Không phải lúc nào cũng thấy điều này trong bảng điều khiển, nhưng trong VS Mã số v1.13.1, hãy đặt --no-cache tạo sự khác biệt.

Các vấn đề liên quan