0

rakefileを作成しているので、一度に複数のテストdllに対してmstestを実行する必要があります。TRXファイルが1つだけ必要なため、mstestを1回だけ実行する必要があります。複数のテストdllに対してmstestを実行するに/testcontainer:some.test.dllは、同じコマンドでのインスタンスをいくつか追加できる必要があります。これが私の現在のレーキタスクです:

task :tests do
    testDlls = FileList.new("#{BUILD_PATH}/*.Specs.dll")
sh "#{MSTEST_PATH} /testcontainer:#{testDlls}"      
end

たとえば、testDllsには​​test1.dll、test2.dll、およびtest3.dllがあります。上記のタスクの出力:

c:\msbuild\msbuild.exe /testcontainer:test1.dll test2.dll test3.dll

私が必要なのは:

c:\msbuild\msbuild.exe /testcontainer:test1.dll /testcontainer:test2.dll /testcontainer:test3.dll

どうすれば希望の出力を得ることができますか?

4

1 に答える 1

2

それはうまくいくはずです:

require 'shellwords'
task :tests do
    testDlls = FileList.new("#{BUILD_PATH}/*.Specs.dll")
    ary = Shellwords.shellwords(testDlls.to_s)
    sh "#{MSTEST_PATH} #{ary.map {|dll| '/testcontainer:' + dll}.join(' ')"      
end
于 2011-01-08T01:00:59.847 に答える