2016-12-25 5 views
7

Я хотел бы установить две разные среды и работать в режиме просмотра.Тестирование двух сред со шуткой

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

На самом деле я бег шутки в два раза для каждой среды, обеспечивая другой конфигурационный файл для каждого:

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

Но это не позволяет мне работать и в то же время.

ответ

4

EDIT (январь 2018):

Теперь можно сделать так (с Jest v20), а опция называется projects. Узнайте больше о it the docs.

В принципе вы можете определить массив из ваших проектов, которые вы хотите Jest быть запущен в пределах:

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

Только помните, каждый проект должен иметь свой собственный конфиг. Если вы хотите, чтобы конфиг был выбран автоматически, поместите его в файл jest.config.js или, как обычно, в package.json.

Если вы предпочитаете размещения конфиг где-нибудь еще (например, в configs/jest.js), вам необходимо указать путь к файлу конфигурации (с опцией rootDir установлен правильно):

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

оригинальный ответ :

В настоящее время это невозможно, но есть проблема для этого случая: https://github.com/facebook/jest/issues/1206.

Не стесняйтесь входить и оставлять комментарии!

+0

Я вижу, что это возможно с Jest 20+. Как вы правильно настроили это сейчас? Мне нужно, например, другое jest.config.js? * EDIT *: Хорошо, я нашел решение: Один из способов, которым я это сделал, это взять мой первоначальный конфигуратор jest-конфигурации на самом высоком уровне и поместить его в массив 'projects' для моей исходной среды, а затем определить вторую конфигурацию для моей среды Node. Это похоже на работу с одним (1) файлом jest.config.js! –

+0

Отлично, вы сработали! Вы также можете передать массив путей к вашим проектам или даже глобус, где каждый проект должен иметь какую-то конфигурацию (либо 'jest.config.js', либо' jest' запись в 'package.json'). –

 Смежные вопросы

  • Нет связанных вопросов^_^