我正在测试使用放大的代码,当它们都用于被测主题时,我无法验证请求和发布会发生什么。
it("should put an updated entity on save", function () {
spyOn(amplify, 'publish');
spyOn(amplify, 'request');
viewModel.save();
expect(amplify.publish.argsForCall).toEqual([['foo']]);
expect(amplify.request.argsForCall).toEqual([['bar']]);
});
我如何以这种方式在其中一个上构建测试argsForCall
总是以undefined
.
在类似的测试中:
spyOn(amplify, 'request');
spyOn(amplify, 'publish');
viewModel.cancel();
expect(amplify.request).not.toHaveBeenCalled();
expect(amplify.publish.mostRecentCall.args).toEqual(['baz']);
我对 spyOn 的多次使用没有问题。但是,似乎参数记录被捕获到单个函数?
如何验证这些操作?
我确实尝试过类似的jasmine.createSpyObj('amplify', ['request', 'publish']);
方法,但这对我没有任何帮助,而且我的论点从未被定义或我所期望的(我不记得确切,我只知道我没有使用这种语法)。