2013-10-14 5 views
1

Мое приложение - Java webapp (* .war), в котором есть куча тестов, написанных в QUnit. Они не запускаются автоматически. Что я могу сделать прямо сейчас, когда я хочу запустить тесты заключается в следующем:Выполнение тестов QUnit с внешнего веб-сервера с помощью Karma

  1. Открыть браузер Я хочу проверить в
  2. Посижу в http://localhost:8080/app/tests/index.html

Этот tests/index.html файл включает в себя все, что необходимо для запуска тестов (например, AngularJS, QUnit и моих тестов).

Теперь, что я хочу сделать, это запустить мои тесты более автоматизированным способом. Я попытался с помощью кармы, установив его как этот (karma.conf.js):

module.exports = function(config) { 
    config.set({ 
    basePath: '', 
    frameworks: ['qunit'], 
    proxies: { 
     '/': 'http://localhost:8080/app/tests/index.html' 
    }, 
    files: [], 
    exclude: [], 
    reporters: ['junit'], 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_DEBUG, 
    autoWatch: true, 
    browsers: [], 
    captureTimeout: 60000, 
    singleRun: true 
    }); 
}; 

Однако, когда я начинаю карму (выполняя karma start в директории моего приложения) и прибой в http://localhost:9876/, это не похоже на работу. Выход в test-results.xml заключается в следующем:

<?xml version="1.0"?> 
<testsuites> 
    <testsuite name="Chrome 30.0.1599 (Mac OS X 10.8.5)" package="" timestamp="2013-10-14T15:30:01" id="0" hostname="dhcp-255-11" tests="0" errors="1" failures="0" time="0"> 
    <properties> 
     <property name="browser.fullName" value="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36"/> 
    </properties> 
    <system-out><![CDATA[ 
]]></system-out> 
    <system-err/> 
    </testsuite> 
</testsuites> 

Я подозреваю, что это что-то делать с тем фактом, что Карма хочет служить тестовые файлы с диска, но я не уверен. Кроме того, похоже, что просто выполнение тестов с внешнего хоста не должно быть проблемой? Может кто-нибудь пролить некоторый свет на это?

ответ

0

Если вы используете муравей, чтобы построить свой проект, вам повезло. Существует муравьиная задача, которая использует фантомный безгласный браузер для запуска тестов qunit. Работал для меня.

https://github.com/philmander/ant-jstestrunner

см Также этот вопрос SO

Running QUnit tests with Jenkins and Apache Ant?

Однако в моем случае мы просто переключитесь наш процесс сборки использовать Maven, и я не получил, что работа еще. Должно быть тривиально писать цель maven ant runner, чтобы сделать то же самое.

+0

Я использую Maven для сборки, и я боюсь, что PhantomJS недостаточно хорош, так как мое приложение широко использует localStorage и IndexedDB. По этой причине мне нужна настоящая среда браузера. Я планировал решить эту проблему с помощью браузера. Однако я буду продолжать изучать это в течение дня и публиковать любые выводы в этой теме. Спасибо за Ваш ответ! – vrutberg

+0

Я с нетерпением жду ваших результатов, vrutberg – carbontax

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