【问题标题】:how to make work jasmine-ajax with grunt-contrib-jasmine如何使用 grunt-contrib-jasmine 制作 jasmine-ajax
【发布时间】:2014-08-08 20:27:44
【问题描述】:

我正在尝试使用 jasmine-ajax library 来模拟带有 grunt-contrib-jasmine 的 ajax 请求,但似乎 jasmine 无法找到该库(它说 jasmine.Ajax 未定义)。

我的咕噜声文件:

   jasmine: {
            test:{
                src :[ '<%= watch.files %>'],
                options: {
                    vendor: 'vendor/mock-ajax.js',
                    specs : ['specs/**/*spec.js'],
                    helpers : 'specs/helpers/*.js',
                    timeout : 10000
                }
            }

我下载了 mock-ajax.js 并将其放在供应商文件夹中。这是出现错误的测试部分:

  beforeEach(function() {
            jasmine.Ajax.install();
        });

【问题讨论】:

    标签: javascript ajax gruntjs jasmine grunt-contrib-jasmine


    【解决方案1】:

    解决了..为了其他有同样问题的人的利益: https://github.com/pivotal/jasmine-ajax/blob/master/lib/mock-ajax.js 中的文件对我不起作用。 我通过 npm 安装了 jasmine-ajax,然后从 gruntfile 中引用了它的 mock-ajax.js 版本: 供应商:['node_modules/jasmine-ajax/lib/mock-ajax.js'],

    感谢 jsoverson 在检查路径时提供的提示 (https://github.com/gruntjs/grunt-contrib-jasmine/issues/111#issuecomment-51806488)

    【讨论】:

    • 我也在尝试同样的事情,但无法让它发挥作用。我的 Gruntfile 和 node_modules 在同一个父目录中。我使用命令“npm install jasmin-ajax”安装并提供了与您提到的相同的供应商路径,但它给出了错误。请帮忙!
    【解决方案2】:

    这是最近一个项目的设置,我刚刚用一个新的“git clone”、“npm install”、“grunt test”进行了测试,它开箱即用!希望对你有帮助:

      jasmine: {
          test:{
            src :[
              '<%= watch.files %>'
            ],
            options: {
              vendor: ['node_modules/jasmine-ajax/lib/mock-ajax.js',
                       'node_modules/jquery/dist/jquery.js',
                       'node_modules/jasmine-jquery/lib/jasmine-jquery.js',
                       'node_modules/handlebars/dist/handlebars.js',
                      ],
              specs : ['spec/helpers/*.js',
                       'spec/**/*spec.js'],
              helpers : ['spec/helpers/*.js'],
              timeout : 10000,
              keepRunner: true
            }
          },
    

    【讨论】:

    • 您好,感谢您的回复,但以下是我的代码,它不起作用。任何的想法?茉莉花:{ src:'dist/production.js',选项:{规格:'test/**/*.js',样式:'styles/**/*.css',供应商:[“node_modules/jasmine- ajax/lib/mock-ajax.js"],模板:require('grunt-template-jasmine-requirejs') } },
    • 您的确切错误信息是什么?检查您的 _SpecRunner.html 文件, 行应该出现在您的脚本之前。检查 node_modules 是否包含预期路径中的文件。提示:在浏览器中检查您的 _specRunner.html,使用检查器工具,在项目的根目录运行本地 Web 服务器。
    猜你喜欢
    • 2013-02-06
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多