我有一个AngularJS应用程序,它需要文件上传,而且由于$http不支持XMLHttpRequest.upload的特殊特性,所以我必须使用XMLHttpRequest来执行文件上传。
我的问题是:我能否使用$httpBackend对通过new XMLHttpRequest()提出的请求进行单元测试?
我已经做了一些测试,但目前$httpBackend正在抛出错误。在没有调用$httpBackend.flush()的情况下,它抱怨请求不满意,但是添加flush只会导致“没有挂起请求”错误。
搜索引擎的广泛使用并没有给我一个答案,所以你能帮我吗?
发布于 2014-01-12 22:45:58
我怀疑不会,但是如果稍微重构代码,您仍然可以对代码进行单元测试:
new $window.XMLHttpRequest()的小工厂。new XMLHttpRequest(),在需要调用upload()时注入这个工厂$window构造函数模拟XMLHttpRequest并在测试之前注入该构造函数来对小型工厂进行单元测试。https://stackoverflow.com/questions/21080376
复制相似问题