私は反応のアプリはテストのための農薬と酵素を使用して作成する - 反応 - アプリJestを使用してテストファイルにwindow.location.pathnameを取得するにはどうすればよいですか?
私はどのように私のテストファイル内にwindow.location.pathname
の値を得ることができますか?
これは私のスペック
import React from 'react';
import MovieDetailsBox from '../../src/components/movie_single/MovieDetailsBox';
import { expect } from 'chai';
import { shallow } from 'enzyme';
import { movie_details } from '../../src/data/movies_details'
import { empty_user } from '../../src/helper/sessionHelper';
jest.mock('react-router');
describe('Test <MovieDetailsBox /> Component',() => {
let movie_details_props = {
movie: {...movie_details}
}
let user_props = {
}
const context = { router: { isActive: (a, b) => true } }
const wrapper = shallow(
<MovieDetailsBox movie={movie_details_props}
user={user_props}
currentPath={'/movie/68'}/>, { context }
)
const movie_data_check = movie_details_props.movie;
it('MovieDetailsBox call correct function on rating box',() => {
wrapper.find('.hidden-xs .rate-movie-action-box button').simulate('click')
if(!empty_user(user_props)){
expect(window.location.pathname).to.equal('/login')
} else {
console.log('have user wow')
}
})
})
ですが、私はそれがwindow.location.pathname
戻り、空白の代わりに、現在のURLパス名のように思える私のコンソール上にエラー
AssertionError: expected 'blank' to equal '/login'
としてこれを得ました。
これを修正するにはどうすればよいですか、setupTests.jsファイル内に何か他のものをセットアップする必要がありますか?
ありがとうございます!
あなたはMovieDetailsBoxのためのコードを共有することはできますか? –
これは 'class MovieDetailsBox extends Component'からの通常の反応コンポーネントです –