2016-08-15 14 views
2

xunit.console.exeを使用してJenkinsを使用して実行しているC#/ Selenium/Specflowテストスイートがあります。私はこれらのテストを異なる環境(Test/QA/Prodなど)に向ける必要があり、コマンドラインパラメータを使用したいと考えています。xunit.runner.consoleを使用してカスタムパラメータを指定する方法

私が呼び出していたバッチコマンドは次のとおりです。 "%WORKSPACE%\packages\xunit.runner.console.2.1.0\tools\xunit.console""%WORKSPACE%\[MyProject]\bin\Debug\eDC6.Test.Specs.dll" -xml test_output.xml

などの余分なパラメータ含めたい:特定の環境にそのジョブを指すように「-env = PROD」を。

これを行うにはより良い方法があります。

答えて

1

IIRC 2010年より前のxunitのフォーラムで、この非常に疑問を機能要求として尋ねましたが、atmを見つけることはできません(おそらく私はCodeRushのテストランナーのコンテキストで尋ねていました)。いずれにせよ、上記の答えは当時のものであり、それはテストランナーとCIツール中立者であるため意味があります。

これは通常、環境変数によって対処されます。つまり、GetEnvironmentVariableを使用します。

Visual Studioなどのランナーを使いたい人は、それに応じて調整する必要があります。 .NET Coreには、このような環境セレクタを持つための固有のサポートがあります。これは、エディタや他のツールで時間の経過とともに公開される可能性があるため、有用なアプローチとなります。

最後に、最も低いレベルのハックは、.configの設定、つまり<DllName>.dll.configに貼り付けることであり、そこを通過するために必要な作業です。余分なコマンドラインは私に多くの柔軟性提供します。このソリューションでは

1

"%ワークスペース%の\パッケージ\ xunit.runner.console.2.1.0 \ツール\ xunit.console"「%ワークスペース%を[MyProjectの] \ bin \ Debug \ eDC6.Test.Specs.dll "-TargEnv QAConfig.json - xml test_output.xml

関連する問題