Javascript 在angular中检测和测试非响应服务器
我有一个与此类似的http请求:Javascript 在angular中检测和测试非响应服务器,javascript,angularjs,unit-testing,Javascript,Angularjs,Unit Testing,我有一个与此类似的http请求: const timeout = $q.defer() let timedOut = false setTimeout(() => { timedOut = true timeout.resolve() }, 4000) $http({ method: 'GET', url: 'www.someurl.com', timeout: timeout.promise }).then((response) => { retur
const timeout = $q.defer()
let timedOut = false
setTimeout(() => {
timedOut = true
timeout.resolve()
}, 4000)
$http({
method: 'GET',
url: 'www.someurl.com',
timeout: timeout.promise
}).then((response) => {
return response.data
})
.catch(() => {
if (timedOut) {
return "server is not responding"
} else {
return "some other error"
}
})
这段代码的目的是发送一个http请求,如果4秒钟后没有响应,请求将被取消,并返回一条服务器没有响应的消息
问题是我不知道如何测试这样的东西,看看它是否真的有效。我通常使用带有$httpBackend的单元测试来模拟请求,但在这种情况下它不起作用。这是正确的方法吗?你在使用什么测试api/框架?我在使用Jasmine with Karma你在使用什么测试api/框架?我在使用Jasmine with Karma