Раиф, я беспокоюсь, основываясь на структуре вашего решения/проекта, что вы ответили на свой вопрос... самое "очевидное" решение - заткнуться и жестко закодировать их;) Это не ужасный вариант, и он дает вам тесты в вашей сборке прямо сейчас.
nunit :test do |nunit|
nunit.command = "whatever.exe"
nunit.assemblies = [
"source/foo.tests/bin/Release/foo.tests.dll",
"source/bar.tests/bin/Release/bar.tests.dll"
]
end
Если вы хотите причудливый метод, вам придется внести некоторые изменения. Вы можете добавить что-то к названиям тестовых проектов, чтобы отличить их от других. Затем вы просто ищете их все в правильном корне.
nunit :test do |nunit|
nunit.command = "whatever.exe"
nunit.assemblies = FileList["source/**/bin/Release/*.myfoo.tests"]
end
Или измените сборку тестового проекта, чтобы переместить выходные данные в общую папку, чтобы вы могли собирать тестовые сборки оттуда.
msbuild :build_tests do |msb|
# ... all your other configuration ...
msb.properties = {
:outputpath => (File.expand_path "bin/Tests/Release")
}
end
nunit :test => [:build_tests] do |nunit|
nunit.command = "whatever.exe"
nunit.assemblies = FileList["bin/Tests/Release/*.tests.dll"]
end
В конце концов, я думаю, у вас есть проблемы посерьезнее. Почему ваши тестовые сборки не собираются вместе с вашим основным решением/проектом? Решите эту проблему, и тогда они будут в выходном пути. Попробуйте назначить единый глобальный выходной путь, чтобы все ваши материалы были в одном месте (и вам не приходилось искать). И, что более важно, что представляют собой все эти другие тестовые проекты в вашем решении? Почему их не запускают? Похоже, у вас есть более одной логической программы в решении, и, возможно, их нужно разделить.
person
Anthony Mastrean
schedule
29.10.2013