Jest модульный тест module.export не проходит? - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть настройка Jest для модульного тестирования, и она прекрасно работает, но функции не работают в браузере? Я знаю, это потому, что способ экспорта функций.

import $ from 'jquery';

function factBox() {
  console.log("GHEje fwe");
  $("body").css("background-color", "red");
}

function sum(a, b) {
  console.log("SUMMM");
  return a + b;
}

module.exports = factBox;
module.exports = sum;

С другой стороны, это работает в браузере, но теперь тест не пройден?:

import $ from 'jquery';

function factBox() {
  console.log("GHEje fwe");
  $("body").css("background-color", "red");
}

function sum(a, b) {
  console.log("SUMMM");
  return a + b;
}

export {
  factBox,
  sum
};

enter image description here

1 Ответ

1 голос
/ 05 ноября 2019

Вот рабочий пример для вашего случая:

index.js:

import $ from 'jquery';

function factBox() {
  console.log('GHEje fwe');
  $('body').css('background-color', 'red');
}

function sum(a, b) {
  console.log('SUMMM');
  return a + b;
}

export { factBox, sum };

index.spec.js:

import { sum } from '.';

test('add 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

Результат модульного теста:

 PASS  src/stackoverflow/58696477/index.spec.js (10.76s)
  ✓ add 1 + 2 to equal 3 (11ms)

  console.log src/stackoverflow/58696477/index.js:9
    SUMMM

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        12.303s
...