Как вызвать jasmine-узел из муравья build.xml - PullRequest
4 голосов
/ 15 февраля 2012

Я пытаюсь использовать jasmine-node для нашего тестирования js-файлов.Мы написали некоторые спецификации, и все идет гладко, когда мы тестируем из командной строки.

Однако мы пытаемся включить наши тесты в нашу сборку ant, и я попробовал несколько комбинаций:

    <exec executable="jasmine-node" dir="${dir.src}" verbose="true" failonerror="true" outputproperty="stdout">
        <arg value="--verbose" />
        <arg value="--test-dir" />
        <arg path="${dir.src}" />
    </exec>

dir.src - это просто базовый каталог, в котором находятся наши js-файлы и спецификации.Комбинации состояли в том, чтобы попытаться переместить оба значения в строку, а все три - в строку и т. Д.

Как я уже сказал, размещение "jasmine-node --verbose --test-dir directory" прекрасно работает вКомандная строка.

Если кто-то может предоставить какую-либо помощь здесь, это было бы здорово.

Спасибо!

РЕДАКТИРОВАТЬ: у меня это в блоке trycatch.Вот и все:

    <trycatch>
        <!-- execute tests -->
        <try>
            <apply executable="jasmine-node" dir="${dir.src}" verbose="true" failonerror="true" outputproperty="stdout">
                <arg value="--verbose" />
                <arg value="--test-dir" />
                <arg path="${dir.src}" />
            </apply>
        </try>
        <catch>
            <property name="error" value="true" />
            <echo message="Jasmine tests failing" />
        </catch>
    </trycatch>

Таким образом, в консоли выводится «Сбой тестов Жасмина»

Ответы [ 2 ]

2 голосов
/ 16 февраля 2012

После удаления блока trycatch я получил сообщение об ошибке, в котором говорится, что в exec не может быть verbose = "true", хотя я клянусь, что видел это где-то раньше. Многословие всегда заставляло его терпеть неудачу, хотя из-за того, что у меня была проблема, я не получал хорошего сообщения об ошибке. Теперь я верну trycatch, чтобы получить команду для запуска, потому что, если в сборке разработчика не установлен jasmine, мы хотим, чтобы сборка не удалась.

Вот мой рабочий вызов жасминового узла.

<exec executable="jasmine-node" failonerror="true">
   <arg line="--verbose ${dir.src}" />
</exec>

Это печатает обычную трассировку, которую я получаю, когда запускаю jasmine-node в командной строке, а это именно то, что я хотел.

Кроме того, применение выше было просто кое-чем, что я пытался заставить это работать. То, что я действительно хотел, было исполнительным директором, который я имел сначала.

0 голосов
/ 16 февраля 2012

Trycatch скрывает ошибку, вызывающую задачу apply . Документация ANT гласит:

Требуется как минимум один набор файлов или список файлов, и вы не должны указывать более одного преобразователя.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...