Недавно я установил MbUnit версии 2.4.2.355 на наш сервер сборки, который работает через Cruise Control.NET и NAnt, на компьютере с Windows Server 2003 с установленным .NET Framework 3.5 SP1.
Я проверил каждый закоулок сценариев сборки, и отчет о выводе NAnt в CC.NET говорит мне, что тестовый проект работает нормально.
Это скрипт NAnt:
<target name="compiletests" description="Compiles unit tests separately">
<exec program="${netframework.dir}\msbuild.exe">
<arg line="C:\dev\PROJ3.1\trunk\src\PROJ\Customer\CustomerUnitTests\Company.CustomerUnitTests.csproj /t:Rebuild /p:Configuration=Debug"></arg>
</exec>
</target>
И вывод - это ff:
[exec] Company.CustomerUnitTests ->
C: \ DEV \ PROJ.1 \ стволу \ SRC \ PROJ \ Клиент \ CustomerUnitTests \ Bin \ Debug \ Company.CustomerUnitTests.dll
[exec] Готовый строительный проект
"C: \ DEV \ PROJ.1 \ стволу \ SRC \ PROJ \ Клиент \ CustomerUnitTests \ Company.CustomerUnitTests.csproj"
(Восстановить цель (и)). [exec] Build
удалось. [ВЫПЛНЫ]
"C: \ DEV \ PROJ3.1 \ стволу \ SRC \ PROJ \ Клиент \ CustomerUnitTests \ Company.CustomerUnitTests.csproj"
(Восстановить цель) (1) ->
Это означает, что сборка модульного теста прошла успешно.
Дело в том, что в конце выходов NAnt это:
mbunit-тесты: [mbunit] MbUnit
2.4.2.355 тестовый бегун [mbunit] В тесте не найдены тестовые сборки
Я перешел на консоль и попытался использовать MbUnit.Cons.Exe для ручного тестирования скомпилированных сборок. Результаты пошли так:
- Тестовые сборки, созданные с использованием моего компьютера с Windows XP SP3, были правильно распознаны, и тесты выполнялись правильно на моем компьютере и на любом другом компьютере разработчика.
- Тестовые сборки, встроенные в сервер сборки под управлением Windows Server 2003, не распознавались как тестовые сборки; Я попытался скопировать эти файлы на мой компьютер с XP, но они тоже не были распознаны.
Мне вот интересно: в чем разница между тестовой сборкой и не тестовой сборкой? Я уверен, что это как-то связано с атрибутами Test
и TestFixture
, но в моем случае, почему сборки, скомпилированные на машинах WinXP, скомпилированы как тесты, а те, которые скомпилированы на машине Win2K3, не распознаются?
Надеюсь, у кого-то есть подсказка.