Javascript 如何中断img呼叫

Javascript 如何中断img呼叫,javascript,unit-testing,backbone.js,jasmine,marionette,Javascript,Unit Testing,Backbone.js,Jasmine,Marionette,如果相关的话,我用的是茉莉花、脊梁和木偶 我有一个视图,它在模型api调用中动态构建和img url。 当我为测试渲染该视图时,这些img调用自然会得到404 那么,是否可以对根进行存根/模拟 查看咖啡脚本 模板 运行测试时,浏览器中的控制台输出为: GET https://my-api/documentimages/11111111-1111-1111-1111-111111111111 404 not found GET https://my-api/documentimages/22222

如果相关的话,我用的是茉莉花、脊梁和木偶

我有一个视图,它在模型api调用中动态构建和img url。 当我为测试渲染该视图时,这些img调用自然会得到404

那么,是否可以对根进行存根/模拟

查看咖啡脚本

模板

运行测试时,浏览器中的控制台输出为:

GET https://my-api/documentimages/11111111-1111-1111-1111-111111111111 404 not found
GET https://my-api/documentimages/22222222-2222-2222-2222-222222222222 404 not found
现在这是技术上正确的行为,因为这是一个测试,而图像实际上并不存在。但是随着越来越多的测试,这个视图在测试中被渲染了很多,我的浏览器控制台被阻塞了,很难捕捉到真正的错误


这是第二个测试,特别是@view.render与相结合,我通常看到为消除各种其他资产的404所做的工作是包括某种中间件,它只响应一个空的200。使用jasmine ruby gem,您可以将自己的自定义中间件添加到运行的机架服务器上,以实现此目的。

这似乎是它的一个副本,其简短版本是,没有已知的方法可以防止img加载错误出现在浏览器控制台中。我能看到的唯一其他解决方案是用某种orTestVersionoriginalSrc函数将代码中的每个img URL包装起来,该函数在测试模式下返回已知的有效img src,否则只返回originalSrc。。。但是如果只是稍微清理一下控制台,那会把代码弄得一团糟。我想你的主要问题是管理所有控制台错误。我可以建议您使用ChromeDevTools过滤器选项通过regexp进行过滤。对于您的情况,您可以仅使用first_url | second_url删除图像中所有不必要的404错误。@VahanVardanyan是否有某种“not”过滤器。也就是说,显示不包含该urlUse的所有错误?!regexp模式。你喜欢什么?!https://my-api/documentimages/11111111-1111-1111-1111-111111111111|https://my-api/documentimages/22222222-2222-2222-2222-222222222222@JonathanW你成功地使用了regexp吗?
<img src="<%= frontUrl %>" alt="">
<img src="<%= backUrl %>" alt="">
describe "DocumentPacket Document View", ->
    beforeEach ->
        @model = new Backbone.Model
            id       : 42
            packetId : 1
            frontKey : "11111111-1111-1111-1111-111111111111"
            backKey  : "22222222-2222-2222-2222-222222222222"

        @view = new App.PaymentDocumentPacket.Documents.Views.Document
            model: @model

    it 'builds the front and back urls in the serialized data', ->
        serializedData = @view.serializeData()

        expect(serializedData.FrontUrl).toEqual("https://my-api/documentimages/11111111-1111-1111-1111-111111111111")
        expect(serializedData.BackUrl).toEqual("https://my-api/documentimages/22222222-2222-2222-2222-222222222222")

    it "displays the front and back images", ->
        @view.render()
        serializedData = @view.serializeData()

        expect(@view.ui.frontSide).toHaveAttr('src', serializedData.FrontUrl)
        expect(@view.ui.frontSide.length).toEqual(1)

        expect(@view.ui.backSide).toHaveAttr('src', serializedData.BackUrl)
        expect(@view.ui.backSide.length).toEqual(1)
GET https://my-api/documentimages/11111111-1111-1111-1111-111111111111 404 not found
GET https://my-api/documentimages/22222222-2222-2222-2222-222222222222 404 not found