我目前在MacOS Sierra上使用WebStorm(2017.2.4),这个弹出窗口暂时显示一次:
我和我的同事在WebStorm中定义了完全相同的TSLint配置和代码样式.问题只发生在我的机器上.. :(
我试过:
我不知道出了什么问题.如果有人能帮助我,我将非常感激.
我正在尝试为我的测试操作 documentElement lang 属性。并且无法弄清楚我怎么能做到这一点。我已经尝试在 Jest 配置中定义 setupFiles - 这让我有可能定义它并且没有选择为不同的测试更改它 - 如此处所述:Mocking `document` in jest
部分测试代码如下所示:
const lang: string = document.documentElement.lang ?
document.documentElement.lang : Constraints.DEFAULT_LANGUAGE;
Run Code Online (Sandbox Code Playgroud)
该测试是这样的:
test('should pass `en` language when document hasn`t any specified', () => {
const spy = jest.spyOn(window.document, 'documentElement', 'get');
expect(spy).toHaveBeenCalled();
});
Run Code Online (Sandbox Code Playgroud)
并使用setupFiles:
Object.defineProperty(document, 'documentElement', {
writable: true,
configurable: true,
value: document.createElement('document')
});
Run Code Online (Sandbox Code Playgroud)
当我有 setupFiles 时,我收到错误:
Property documentElement does not have access type get
但是当我尝试在没有setupfile.js
配置的情况下监视它时,永远不会调用 spy。
编辑
更清晰的例子是我想要实现的目标: …