2016-12-06 15 views
0

Учебник по сайту Intern начинается с приобретения стажера с использованием npm, но я загрузил последнюю версию исходного кода Intern. (Я не использую НПЙ) и моя структура папок приложения, как этоКак добавить Intern к проекту Dojo?

|myapp 
    |app 
    |tests 
     |unit 
     |functional 
    main.js 
|third-party 
    |dojo-release-1.10.6 
    |intern-3.4.2 
index.html 

Теперь в моей index.html Я добавил следующее в моих пакетах конфига

  packages: [ 
       { name: 'dojo', location: 'third_party/dojo-release-1.10.6-src/dojo' }, 
       { name: 'intern', location: 'third_party/intern-3.4.2' }, 
      ], 

После этого, где я могу поместить intern.js?

+0

поместите его внутри 'intern/intern.js', затем импортируйте его как' require ("intern/intern.js") '... –

ответ

0

Помимо использования npm, основной процесс использования Intern будет таким же, как и в учебнике. Напишите свои юнит-тесты, затем используйте один из трех тестовых бегунов Intern (intern-client, intern-runner или client.html), чтобы фактически запустить тесты.

Вам не нужно включать Intern в список ваших пакетов приложений. Вместо этого вы включите свои пакеты приложений в объект loaderOptions в свой тестовый конфигуратор Intern.

Как ваши тесты взаимодействуют с вашим приложением, зависит от того, какие тесты вы пишете. Для модульных тестов ваши тестовые комплекты модулей загружают части вашего приложения, а затем запускают тесты на них. Для функциональных тестов ваши тесты (через Intern) будут показывать браузеру загрузку тестовой страницы с вашим приложением, а затем сообщают браузеру о различных действиях. Сам

// unit test 
define([ 'intern!object', 'myApp/myModule' ], function (registerSuite, mod) { 
    registerSuite({ 
     name: 'myApp/myModule', 

     '#someFunction': function() { 
      var value = mod.someFunction(...); 
      // make assertion about value 
     } 
    }); 
}); 

// functional test 
define([ 'intern!object' ], function (registerSuite) { 
    registerSuite({ 
     name: 'myApp/myModule', 

     '#someFunction': function() { 
      return this.remote.get('myTestPage.html') 
       .findById('someButton') 
       .click() 
       // make assertions about state of elements on the page 
     } 
    }); 
}); 

Intern проект Dojo, и использует свою собственную версию Dojo для загрузки модулей по умолчанию. Этого может быть достаточно для модульных испытаний. Если это не так, вы хотите установить loaders в свой тестовый конфиг, чтобы указать на свой собственный Dojo's dojo.js (путь к вашему загрузчику должен быть относительно dojo/loader.js).