TeamCity上で実行され、いくつかの異なるテストプロジェクトを含むビルドがあります。彼らはそれぞれ次々に実行し、そして我々はthusly、すべてのものを編成するために、RakefileからMSTest.exeを使用している:テストに失敗してもMSTest.exeが0を返すようにするにはどうすればよいですか?
desc 'Run Unit Tests'
mstest :data_test => [:build_database_tests] do |mstest|
puts build_header("Data Tests")
mstest.command = msTestCommand
mstest.parameters = [
"/resultsfile:dTest.trx",
"/detail:errormessage",
"/detail:description",
"/usestderr"
]
mstest.assemblies "../../../Database/DataTests/bin/Release/DataTests.dll"
end
はこれがために作る、チームシティーは、パース、すべてできる素敵なTRXファイルを生成しますいいクリーンなレポートタブ。ただし、MSTest.exeは、テストが失敗した場合に1を返します.Rakeは失敗と解釈し、残りのテストは実行されません。
この動作を抑制したいと思います。テストが失敗したときにビルドを継続して実行し、他のテストが失敗する可能性があることを確認します。 Rakeにリターンコードを無視させる方法と、テストが失敗した場合にMSTest.exeが失敗したリターンコードを出力しないようにする方法はありますか?
このセット内の1つのテスト( 'data_test')が失敗すると、このタスクで定義されているテストが停止されますか?私はmstestがそのように走ったとは思わなかった。あるいは、 'data_test'が失敗すると、別のテストタスク全体が実行されないということですか? –
後者です。 data_testの後、私はsql_testを実行し、mstestを0以外に戻してrakefileを打ち切りたいかもしれません。 – GWLlosa