2016-07-13 6 views
1

Nunit3バージョンで提供されているparams引数を使用して複数のパラメータを渡しています。C#テストフィクスチャNunit3からParamsをフェッチ

しかし、私はC#テストフィクスチャでそれらをフェッチできません。私は検索しましたが、正しい結果を得ることができませんでした。

誰かがC#でこれらの引数を取得する方法について私に指導を与えることができますか?

ご協力いただければ幸いです。前もって感謝します。

+0

ができご覧くださいコードを投稿してください。 –

+0

nunit3-console "D:\ Codebase \ Automation \ ReportGenerationAutomation \ bin \ Debug \ Automation.dll" --test = Automation.Report --params:Code = XXX --params:Date = 2011-05-16 --work = "D:\ Codebase \ Automation \ ReportGenerationAutomation \ bin \ Debug" – Niraj

+0

これはnunit3のコマンドです。私はC#で日付とコードのパラメータを取得する必要があります。このコマンドは正常に実行されますが、取得部分でスタックされているため、その部分にはC#コードはありません。 – Niraj

答えて

0

まず、NUnitコンソール3.4.1とNUnit Framework 3.4.1の両方を使用していることを確認してください。

コマンドラインオプション--params:Code=XXX --params:Date=2011-05-16が正しいように見えます。 --params:Code=XXX;Date=2011-05-16

単体テストのパラメータにアクセスするには、テストでTestContext.Parameters.Get("Code")を使用します。 とT Get(string key, T default)もあり、Convert.ChangeTypeです。

詳細はまだ書かれていませんので、pull request that implemented the featureを参照してください。ここで

は、サンプルテスト、私は出力では、コマンドラインとNUnitの3.4.1、

nunit3-console.exe --params:Code=XXX --params:Date=2011-05-16 .\nunit-v3.dll 

で実行

[Test] 
public void TestCommandLineParameters() 
{ 
    var code = TestContext.Parameters.Get("Code", "<unknown>"); 
    var date = TestContext.Parameters.Get("Date", DateTime.MinValue); 

    TestContext.WriteLine($"Fetched test parameters {code} and {date}"); 
} 

ですが、私は

=> nunit.v3.TestParamsTest.TestCommandLineParameters 
Fetched test parameters XXX and 2011-05-16 12:00:00 AM 
+0

ええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええ!ハウツー記事のように何か必要があれば、私たちはそれを書いてもらうことができます。私は実際のユースケースを持っていないので、良い帳簿につながります。 – Charlie

関連する問題