我有一个使用Jasmine测试的angularJS项目。 我需要编写一个单元测试,它将检查图像是否存在于文件夹中并且未被删除。在我的情况下,这只是一个默认的个人资料图片,例如。
我们的想法是,我们下载图片并在加载时发送成功或在错误时不成功。如果我在简单的JS中尝试它 - 一切都像魅力一样。但不知何故,Jasmine总是失败。怎么了?有没有更好的方法来测试图像是否存在并正确加载?
抱歉Coffeescript而不是JS。但它仍然应该很容易遵循:
describe "Default services: ", ->
beforeEach angular.mock.module("default.services")
describe "App Image: ", ->
async = new AsyncSpec(this)
success = false
async.beforeEach (done) ->
inject (defaultStuff) ->
img = new Image()
img.onload = ->
success = true
done()
img.onerror = ->
success = false
done()
img.src = defaultStuff.appImage
it "should have default app image", inject (defaultStuff) ->
expect(defaultStuff.appImage).not.toBe(null)
async.it "should download default app image (e. g. check that it exists)", (done) ->
expect(success).toBe(true)