2016-12-25 31 views
7

Tôi muốn đặt hai môi trường khác nhau và có thể chạy cả trong chế độ đồng hồ.Thử nghiệm hai môi trường với jest

|-- /server 
|  |-- index.js <- Node 
|-- /client 
|  |-- index.js <- jsdom 
|-- package.json 

Trên thực tế tôi chạy jest hai lần cho từng môi trường, cung cấp một tập tin cấu hình khác nhau cho mỗi:

$ yarn test -- --config=server.config.json 
$ yarn test -- --config=client.config.json 

Nhưng điều này không cho tôi chạy cả hai cùng một lúc.

Trả lời

4

EDIT (tháng 1 năm 2018):

Nó bây giờ có thể làm như vậy (vì jest v20), và các tùy chọn được gọi là projects. Đọc thêm về it the docs.

Về cơ bản, bạn có thể xác định một loạt các dự án của bạn, bạn muốn đùa được chạy trong vòng:

{ 
    "projects": ["<rootDir>/client", "<rootDir>/server", "<rootDir>/some-glob/*"] 
} 

Chỉ cần nhớ mỗi dự án cần phải có cấu hình riêng của mình. Nếu bạn muốn cấu hình được tự động chọn, hãy đặt nó vào bên trong jest.config.js tệp hoặc như thường trong package.json.

Nếu bạn thích đặt cấu hình của bạn ở một nơi khác (ví dụ như trong configs/jest.js), bạn sẽ cần để trỏ đến đường dẫn của tập tin cấu hình (với rootDir tùy chọn thiết lập đúng):

{ 
    "projects": ["<rootDir>/client/configs/jest.js", "<rootDir>/server/configs/jest.js"] 
} 

ĐÁP ORIGINAL :

Hiện tại điều này là không thể, nhưng có một vấn đề cho trường hợp đó: https://github.com/facebook/jest/issues/1206.

Hãy thoải mái tham gia và để lại nhận xét!

+0

Tôi thấy rằng điều này là có thể với Jest 20+. Làm thế nào để bạn thiết lập đúng cách này ngay bây giờ? Tôi có cần jest.config.js khác không? * EDIT *: Ok, vì vậy tôi đã tìm thấy một giải pháp: Một cách tôi đã làm là cấu hình jest cấp cao nhất của tôi và đặt nó trong mảng 'projects' cho môi trường ban đầu của tôi, và sau đó xác định cấu hình thứ hai cho môi trường Nút của tôi. Điều đó dường như hoạt động với một (1) tệp jest.config.js được xác định! –

+0

Tuyệt vời bạn đã làm việc nó ra! Bạn cũng có thể truyền một mảng các đường dẫn tới các dự án của bạn, hoặc thậm chí là một glob, trong đó mỗi dự án cần phải có một số loại cấu hình (hoặc 'jest.config.js' hoặc' jest' trong 'package.json'). –

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