Мой класс имеет следующий конструктор:
constructor() {
super();
this.togglePlay = this.togglePlay.bind(this);
this.toggleMute = this.toggleMute.bind(this);
this.toggleMaximize = this.toggleMaximize.bind(this);
this.state = {
play: false,
mute: false,
maximize: false,
actions: {
togglePlay: this.togglePlay,
toggleMute: this.toggleMute,
toggleMaximize: this.toggleMaximize
}
};
}
В моем тесте я хочу сравнить состояние ...
it('should have the correct state', () => {
const wrapper = shallow(<Provider {...minProps} />);
const expectedState = {
play: false,
mute: false,
maximize: false,
actions: {
togglePlay: () => {},
toggleMute: () => {},
toggleMaximize: () => {}
}
};
const actualState = wrapper.state();
expect(expectedState).toEqual(actualState);
});
При запуске теста я получаю следующую ошибку:
Expected value to equal:
{"actions": {"toggleMaximize": [Function bound toggleMaximize], "toggleMute": [Function bound toggleMute], "togglePlay": [Function bound togglePlay]}, "maximize": false, "mute": false, "play": false}
Received:
{"actions": {"toggleMaximize": [Function toggleMaximize], "toggleMute": [Function toggleMute], "togglePlay": [Function togglePlay]}, "maximize": false, "mute": false, "play": false}
Тест не пройден из-за сравнения функций. Как я могу пройти этот тест?