2016-03-30 2 views
0

Я думал о том, как я могу проверить 2 или более разных файла javaScript, например, у меня есть 5 файлов javascript, как я могу протестировать эти 3 скрипта? Мне нужно, чтобы проверить их все, в 1 spec.js ли файл, как это:Тестирование 2 или более файлов JavaScript в 1 файле Spec.js?

javascript1.js

javascript2.js (эти 3 в 1 спецификации файла)

javascript3.js

или Могу ли я проверить их на соотношении 1: 1 следующим образом:

javascript1.js to spec1.js;

javascript2.js to spec2.js;

javascript3.js to spec3.js;

+0

вы можете сделать оба – Zamboney

+0

ой, я хочу попробовать второй вариант (проверить их 1 на 1), как я могу назвать их 1 на 1? я использую Karma-Jasmine, как только я набрал «начало кармы», он выполняет все предыдущие тесты, но не мой предполагаемый тестовый файл – Brexter

ответ

0

Вам необходимо создать файл Spec для каждого файла, который вы тестируете. Иногда, если файл/модуль, который вы тестируете, чрезвычайно сложный, может возникнуть идея создать несколько файлов спецификаций и связать их внутри папки.

Если вы используете Jasmine, я бы порекомендовал вам подобрать технологию, такую ​​как Require JS (или webpack или Browserify), которая позволила бы вам потребовать столько модулей/файлов javascript, сколько вы хотели бы внутри файлов спецификаций, и позволит вам чтобы ограничить объем ваших тестов.

Однако, если вы используете более традиционный подход к тестированию жасмина с кармой на стандартном JavaScript, то вам просто нужно настроить Karma для загрузки ваших файлов JavaScript до запуска тестов - таким образом, все файлы будут доступны для тестирования в рамках области тестирования.

Например, в файле karma.conf.js:

files: [ 
     { 
      pattern: 'src/js/app/libs/**/*.js', 
      included: true 
     }, 
     { 
      pattern: 'src/js/app/modules/**/*.js', 
      included: true 
     }, 
     { 
      pattern: 'tests/jasmine/*/*Spec.js', 
      included: true 
     }, 
     // below line may not be needed outside of RequireJS scope 
     'tests/jasmine/config/karma-call.js' // where I loop for spec files 
    ] 

Для дополнительного чтения: http://requirejs.org/

+0

это потрясающе !, я пойду, посмотрю, как requirejs помогает тестировать жасмин для облегчения работы. Спасибо чувак! – Brexter

+0

Да, мне очень нравятся модули - это делает код более управляемым и легче тестировать! Не беспокойся. – Shakespeare

Смежные вопросы