[REACTJS] 농담을 사용 window.navigator.language을 조롱하는 방법
REACTJS농담을 사용 window.navigator.language을 조롱하는 방법
해결법
-
1.window.navigator 그 속성은 읽기 전용,이 Object.defineProperty 설정 window.navigator.language에 필요한 이유입니다. 그것은 속성 값을 여러 번 변경 작업을하기로했다.
window.navigator 그 속성은 읽기 전용,이 Object.defineProperty 설정 window.navigator.language에 필요한 이유입니다. 그것은 속성 값을 여러 번 변경 작업을하기로했다.
문제는 구성 요소가 이미 beforeEach에서 인스턴스화이다, window.navigator.language 변화는 영향을주지 않습니다.
속성을 조롱하기위한 Object.defineProperty를 사용하여 수동으로 원래의 기술자를 저장하고 수동으로뿐만 아니라 그것을 복원하는 데 필요합니다. 이것은 jest.spyOn 수행 할 수 있습니다. jest.clearAllMocks는 (), 그것은 농담 스파이에 대한 매뉴얼 스파이 / 모의 객체에 대한 도움을 필요로하지 않는 될 수 없다.
그것은 가능성이 있어야한다 :
let languageGetter; beforeEach(() => { languageGetter = jest.spyOn(window.navigator, 'language', 'get') }) it('should do thing 1', () => { languageGetter.mockReturnValue('de') wrapper = shallow(<Component {...props} />) expect(wrapper.state('currentLanguage')).toEqual('de') }) ...
from https://stackoverflow.com/questions/52868727/how-to-mock-window-navigator-language-using-jest by cc-by-sa and MIT license
'REACTJS' 카테고리의 다른 글
[REACTJS] 후크와 반응에 카운트 다운 타이머를 구현 (0) | 2020.11.15 |
---|---|
[REACTJS] (15) 반응에 빈 기본적으로 제어 입력을 만드는 방법 (0) | 2020.11.15 |
[REACTJS] reactjs 농담 jQuery를 정의하지 않습니다 (0) | 2020.11.15 |
[REACTJS] 테두리없이 마지막 아이 : CSS - 기본 반응? (0) | 2020.11.15 |
[REACTJS] AG-그리드 : 특정 미리 정의 된 시간 동안 개방 툴팁을 유지 (0) | 2020.11.15 |