我正在使用 Angular-UI Bootstrap 对话框并喜欢它们,但我似乎无法弄清楚如何测试它们关闭时返回的内容(或与此相关的承诺中的任何其他内容。)有人可以指出我举一个如何测试的例子?我怀疑我只是没有正确地嘲笑它。这是我的测试:
spyOn(scope.orderDetailsModal, 'open').andReturn({then:function(){return "fulfill";}});
scope.orderDetailsModal.isOpen = function(){return true;};
scope.orderDetails();
expect(scope.orderDetailsModal.open).not.toHaveBeenCalled();
scope.orderDetailsModal.isOpen = function(){return false;};
scope.orderDetails();
scope.$digest();
expect(scope.orderDetailsModal.open).toHaveBeenCalled();
expect(scope.testresult).toEqual("fulfill");
当然,对 scope.testresult 的测试失败了。不用说,我感到有点失落。