我目前正在测试一个控制器(在我的代码中称其为sut),该控制器在方法中调用另一个控制器(以下称其为OtherController)。
我进行了如下测试
it('My Test', () => {
const stub = sinon.stub(OtherController, 'externalMethod').returns([OK, data]);
sut.method();
expect(stub.called).to.be.true;
})
但是此代码不起作用,出现错误
[TypeError:_get __(...)。externalMethod不是函数]
当我不关心该重新使用什么方法时,它会起作用
const stub = sinon.stub().returns();
sut.__Rewire__('OtherController', stub);
但是当我想从OtherController.externalMethod中获得特定的返回值时,我无法使其工作。
我应该如何进行?