Nunit3 バージョンで提供されている params 引数を使用して、複数のパラメーターを渡しています。
ただし、C# テスト フィクスチャではそれらを取得できません。検索しましたが、正しい結果が得られませんでした。
誰かがC#でこれらのparam引数を取得する方法についての指針を教えてくれますか.
どんな助けでも大歓迎です。前もって感謝します。
まず、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")
します。string Get(string key, string default)
とT Get(string key, T default)
を行うaもありConvert.ChangeType
ます。
まだ十分に文書化されていないため、詳細については機能を実装したプル リクエストを参照してください。
これがテストの例です。
[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 3.4.1で実行したもの、
nunit3-console.exe --params:Code=XXX --params:Date=2011-05-16 .\nunit-v3.dll
出力では、私は見る
=> nunit.v3.TestParamsTest.TestCommandLineParameters
Fetched test parameters XXX and 2011-05-16 12:00:00 AM