2013-05-03 4 views
2

Я использую QUnit + Sinon.js, который работает хорошо изначально. Проблема возникла, когда я попытался построить ее в непрерывный процесс интеграции. Я использую js-test-driver framework, чтобы иметь возможность запускать его в непрерывной среде интеграции. В прошлом я использовал его без Sinon.js, и это не было проблемой. Но после того, как я включил плагин Sinon.js, он вообще не работает. Когда я попытался запустить свои тесты он говорит:QUnit и Sinon.js под непрерывной интеграцией

D:/my/project/url/contentTest.js:60: TypeError: qTest is not a function 
Total 0 tests (Passed: 0 Fails: 0 Errors: 0)(0.00 ms) 

Моя конфигурация JS-тест-драйвер:

server: http://localhost:9879 

load: 
    # QUnit related files 
    - qunit/lib/equiv.js 
    - qunit/lib/QUnitAdapter.js 
    - qunit/plugin/sinon-1.6.0.js 
    - qunit/plugin/sinon-qunit-1.0.0.js 

    # Dependencies 
    - external/jquery/1.7.2/jquery.min.js 

    # Files under test 
    - content.js 

    # Tests 
    - contentTest.js 

Интересно то, что есть файл QUnit index.html, который хорошо работает (когда я открываю этот HTML, каждые тесты проходит):

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <title>my tests</title> 
    <link rel="stylesheet" href="./qunit/lib/qunit-1.11.0.css"> 
</head> 
<body> 
    <div id="qunit"></div> 
    <div id="qunit-fixture"></div> 

    <!-- core --> 
    <script src="./qunit/lib/qunit-1.11.0.js"></script> 
    <script src="./qunit/plugin/sinon-1.6.0.js"></script> 
    <script src="./qunit/plugin/sinon-qunit-1.0.0.js"></script> 

    <!-- dependencies --> 
    <script src="./external/jquery/1.7.2/jquery.min.js"></script> 

    <!-- under test --> 
    <script src="./content.js"></script> 

    <!-- tests --> 
    <script src="./contentTest.js"></script> 
</body> 
</html> 

Так кажется, что конфликт с JS-тест-драйвера и Sinon.js. Если я удалю все связанные тесты Sinon.js и включенные плагины sinon, то это сработает. Если я просто удалю тесты, связанные с синоном, он все равно не пройдет. Если я не удаляю sinon.js, но удаляю все тесты и создаю тест emty с утверждением «ok (true)», то он все равно терпит неудачу с тем же сообщением об ошибке (contentTest.js: 60: TypeError: qTest is not функция), однако мой тестовый файл состоит всего из 10 строк (как это может быть ошибка в 60-й строке, когда мой файл состоит всего из 10 строк?).

Спасибо всем за помощь!

ответ

0

Не решение, но, возможно, подход для получения дополнительной информации: можете ли вы запускать сценарии js-test-driver локально из оболочки? Означает ли он подобные сведения об ошибке? По крайней мере, это даст вам больше информации и более короткий цикл обратной связи.

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