gpt4 book ai didi

javascript - 如何为 Jasmine spy 的多次调用提供不同的返回值

转载 作者:IT王子 更新时间:2023-10-29 02:48:14 26 4
gpt4 key购买 nike

假设我正在监视这样的方法:

spyOn(util, "foo").andReturn(true);

被测函数多次调用util.foo

是否可以让 spy 在第一次调用时返回 true,但在第二次调用时返回 false?或者有不同的方法来解决这个问题吗?

最佳答案

您可以使用 spy.and.returnValues (如 Jasmine 2.4)。

例如

describe("A spy, when configured to fake a series of return values", function() {
beforeEach(function() {
spyOn(util, "foo").and.returnValues(true, false);
});

it("when called multiple times returns the requested values in order", function() {
expect(util.foo()).toBeTruthy();
expect(util.foo()).toBeFalsy();
expect(util.foo()).toBeUndefined();
});
});

有一些事情你必须小心,还有一个函数会类似拼写 returnValue 而没有 s,如果你使用它,jasmine 不会警告你。

关于javascript - 如何为 Jasmine spy 的多次调用提供不同的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26898613/

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