jimmyHuey Ответов: 0

Модульный тест: Как протестировать redux “provider”?


У меня есть такая функция, как following, это rudux для обеспечения EstateList.

import {render} from "react-dom";
import React from "react";
import {Provider} from "react-redux";
import store from "./Store";
import EstateList from "../estates/estateList/estateList";

function estateList() {
    render(
        <Provider store={store}>
            <EstateList />
        </Provider>,
        window.document.getElementById('estateList')

    );
}


А Эстателист вот такой:

import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import {connect} from "react-redux";

class EstateList extends Component {
    constructor(){
       ...
      console.log('this can not be seen');
    }
    render() {...}
}

const mapStateToProps = (state) => {
    return {
        title: state.subNavReducer.title
    };
};

const mapDispatchToProps = (dispatch) => {
    return {
        setSubNav: (title) => {
            console.log('aasddssdsdsdd');
            dispatch({
                type: "SET_TITLE",
                payload: title
            });
        }
    };
};

export default connect(mapStateToProps, mapDispatchToProps)(EstateList);


Что я уже пробовал:

Я попытался проверить EstateList, например, следующим образом:
import {shallow, configure} from 'enzyme';
import Adapter from 'enzyme-adapter-react-15';
import {expect} from 'chai';

import {Provider} from "react-redux";
import store from "../../../components/store/Store";
import EstateList from "../../../components/estates/estateList/estateList";

describe('estate', function () {
    it('getArticlesFromDatabase ', function () {
        let app = shallow(
            <Provider store={store}>
                <EstateList />
            </Provider>
        );
    });
});<pre><pre>


Это успех, но класс EstateList, кажется, не был запущен.
Потому что я не могу видеть консоль при запуске теста.

Как это исправить?

0 Ответов