2016-12-25 2 views
10

Я хотел бы избавиться от globals в моем тестовом коде. В частности describe, it и expectКак импортировать шутки?

describe('Welcome (Snapshot)',() => { 
    it('Welcome renders hello world',() => { 
    ... 
    }); 
}); 

Так что я попытался добавить

import {describe,it} from 'jest'; 

и

import jest from 'jest'; 

jest.describe(... 
    jest.it(... 

и другие вариации ..

но не повезло.

Как мне заставить его работать?

ответ

7

После того как я понял, шутка работает в узле, он понял, что я мог бы сделать это:

let { describe, it } = global; 

Не совершенный, но один шаг ближе .. Теперь мне не нужно больше, чтобы настроить мой линт с глобал.

+0

Что ЛИНТЕР вы используете? ESLint имеет среду Jest. – Scimonster

+0

@Scimonster стандарт .. НО! Я не думаю, что хочу настроить что-то такое шуточное окружение для моего linter, что потребовало бы, чтобы я определил задачу linter для каждой «среды». –

+0

Это также полезно, если вы используете поток или любые другие инструменты статического анализа в своем тесте файлы –

7

Самое простое решение для этого является добавление jest: true к вашему env конфигурации в eslint, например, так:

"env": { 
    "browser": true, 
    "node": true, 
    "jasmine": true, 
    "jest": true, 
    "es6": true 
}, 
+1

Для справки: [все способы настройки среды ESLint] (https://eslint.org/docs/user-guide/configuring#specifying-environments) (для Jest или других ситуаций) –