gpt4 book ai didi

node.js - Jasmine spy document.execCommand 未被调用

转载 作者:太空宇宙 更新时间:2023-11-03 22:52:35 24 4
gpt4 key购买 nike

我写了一个这样的测试

describe('execCommand', function () {
it('should call document.execCommand', function () {
spyOn(document, 'execCommand').and.callThrough();
expect(document.execCommand).toHaveBeenCalledWith('foreColor', false, 'red');
document.execCommand('foreColor', false, 'red');
});
});

但它失败了预期 spy execCommand 已被调用['foreColor', false,'red']但它从未被调用。我不知道为什么?

请帮忙。

注意:我使用 grunt-contrib-jasmine 0.9.2

运行它

最佳答案

Jasmine 的 expect 函数是当时的断言,而不是在 it block 末尾运行的断言,切换顺序看看它的工作情况:

describe('execCommand', function () {
it('should call document.execCommand', function () {
spyOn(document, 'execCommand').and.callThrough();
document.execCommand('foreColor', false, 'red');
expect(document.execCommand).toHaveBeenCalledWith('foreColor', false, 'red');
});
});
<link href="//safjanowski.github.io/jasmine-jsfiddle-pack/pack/jasmine.css" rel="stylesheet" />
<script src="//safjanowski.github.io/jasmine-jsfiddle-pack/pack/jasmine-2.0.3-concated.js"></script>

关于node.js - Jasmine spy document.execCommand 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37207643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com