как заставить работать jasmine-ajax с grunt-contrib-jasmine

Я пытаюсь использовать библиотеку jasmine-ajax для имитации запроса ajax с grunt-contrib-jasmine, но, похоже, 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();
        });

person cesarpachon    schedule 08.08.2014    source источник


Ответы (2)


решено.. в интересах других с той же проблемой: файл в https://github.com/pivotal/jasmine-ajax/blob/master/lib/mock-ajax.js у меня не сработало. Я установил jasmine-ajax через npm, а затем сослался на его версию mock-ajax.js из gruntfile: vendor: ['node_modules/jasmine-ajax/lib/mock-ajax.js'],

спасибо jsoverson за подсказки в проверке путей (https://github.com/gruntjs/grunt-contrib-jasmine/issues/111#issuecomment-51806488)

person cesarpachon    schedule 11.08.2014
comment
Я также пытаюсь сделать то же самое, но не могу заставить его работать. Мой Gruntfile и node_modules находятся в одном родительском каталоге. Я установил с помощью команды npm install jasmin-ajax и указал тот же путь поставщика, как вы упомянули, но это дает ошибку. Пожалуйста помоги! - person Coding man; 17.07.2015

это настройка недавнего проекта, я только что протестировал свежий «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
        }
      },
person cesarpachon    schedule 17.07.2015
comment
Привет, спасибо за ответ, но мой код не работает. Есть идеи? жасмин: { src: 'dist/production.js', параметры: { спецификации: 'test/**/*.js', стили: 'styles/**/*.css', поставщик: [node_modules/jasmine-ajax /lib/mock-ajax.js], шаблон: require('grunt-template-jasmine-requirejs') } }, - person Coding man; 17.07.2015
comment
каково ваше точное сообщение об ошибке? проверьте свой файл _SpecRunner.html, строка ‹script src=node_modules/jasmine-ajax/lib/mock-ajax.js›‹/script› должна появиться там прямо перед вашими скриптами. убедитесь, что node_modules содержит файл по ожидаемому пути. совет: проверьте свой _specRunner.html в браузере с помощью инструментов инспектора, запустив локальный веб-сервер в корне вашего проекта. - person cesarpachon; 17.07.2015