Выборочное тестирование с использованием шутки

1

Я реализовал выборку и тестирование, как показано ниже, но это дает ошибку (я плох в модульном тестировании).

Main.js

import React, { Component } from 'react';

class Main extends Component {
    constructor(props) {
        super(props);

        this.state = { 
            testData: [],
        }
    }

    componentDidMount() {
        fetch('http://testurl.com/testData')
        .then(response => response.json())
        .then(result => this.setState({ testData: result }));
    }

    render() {
        const {testData} = this.state;

        return ( 
            <div className="main"> 
                { testData.data && 
                    <section>
                        <CustomComponent movies={ testData.data } />
                    </section> 
                }
            </div>
        );
    }
}

export default Main;

Main.test.js

import React from 'react';
import ReactDOM from 'react-dom';
import { mount, shallow } from 'enzyme';
import { fetchMock } from 'fetch-mock';
import Main from "../src/Main";
import testData from './_mockData_/testData'

it('should render without crashing', () => {
    const div = document.createElement('div');
    ReactDOM.render(<Main />, div);
    ReactDOM.unmountComponentAtNode(div);
  });

describe('should renders Main correctly', () => {
    fetch('http://testurl.com/testData').then(res => {
        expect(res.data).toEqual(testData)
  })
});

Даже я пытался использовать http://www.wheresrhys.co.uk/fetch-mock/, но не имеет никакого значения.

describe('should renders Main correctly', () => {
    fetchMock.get('http://testurl.com/testData').then(res => {
        expect(res.data).toEqual(testData)
  })
});

Всегда получаю следующую ошибку.

ReferenceError: выборка не определена

  • 0
    Взгляни на шутку
  • 0
    @ ic3b3rg я отредактировал свой вопрос согласно твоему предложению.
Теги:
jestjs

1 ответ

0

Извлечение по умолчанию не включено в узел, и вам необходимо установить модули, экспортирующие его. Пожалуйста, смотрите ниже образец для названия модуля и использования.

const fetch = require("node-fetch");

fetch("https://github.com/")
  .then(res => res.text())
  .then(body => console.log(body));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню