Скрипт NAnt для запуска нескольких тестовых сборок - PullRequest
2 голосов
/ 17 января 2010

Я только вхожу в TDD, и, оглядываясь по сторонам, я думаю, что общее понимание состоит в том, чтобы отобразить один-к-одному из проекта кода в тестовый проект. Мой вопрос: если вы следуете этим путем и имеете несколько тестовых сборок, каков наилучший способ запустить их как часть сценария NAnt? Если это имеет значение, я использую NUnit в качестве основы тестирования.

Ответы [ 2 ]

0 голосов
/ 31 июля 2012

Я бы предложил лучший способ сделать это - скомпилировать оба проекта из NAnt по отдельности, используя команду CSC, ссылающуюся на каждый файл проекта (csproj), а не на решение. Затем используйте команду nunit-console (как отдельную задачу Nant) для выполнения ваших тестов.

Если у вас есть один большой скрипт / файл сборки, который делает это, или отдельные отдельные для каждого проекта или задачи, решать вам (или насколько сложны ваши проекты).

Способ сборки сборок моей команды заключается в том, что у меня есть один «основной» сценарий сборки, который вызывает другие сценарии сборки для выполнения конкретных задач. Например, «master» вызывает «compile», а затем «test» (передавая результаты скрипта «compile» соответственно). Таким образом, компиляция моего основного проекта отделена от автоматического тестирования.

0 голосов
/ 19 января 2010

Вы можете создать «тестовый проект» через графический интерфейс NUnit и сохранить его в файл. В графическом интерфейсе вы можете добавить в проект тестовые библиотеки, которые, в свою очередь, ссылаются на тестируемые.

Затем вы можете передать этот файл на консоль NUnit изнутри NAnt. например,

<property name="nunit.output" value="${dir.reports.nunit}\nunit-results.xml" />
<property name="nunit.input" value="proj.nunit" />

<exec program="${dir.tools}\nunit\bin\nunit-console.exe" failonerror="true">
    <arg value="${nunit.input}" />
    <arg value="/xml:${nunit.output}" />
</exec>

Таким образом, NAnt не нужно знать о тестовых библиотеках, просто проект NUnit, который содержит эту информацию.

...