栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用玩笑来模拟window.navigator.language

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用玩笑来模拟window.navigator.language

window.navigator
并且它的属性是只读的,这就是为什么
Object.defineProperty
需要set
的原因
window.navigator.language
。它应该可以多次更改属性值。

问题在于该组件已经在中实例化

beforeEach
window.navigator.language
更改不会影响它。

Object.defineProperty
手动使用模拟属性将需要存储原始描述符并也手动还原它。可以使用完成此操作
jest.spyOn
jest.clearAllMocks()
不会帮助手动间谍/模拟,Jest间谍可能不需要。

可能应该是:

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')})...


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436793.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号