データをテストケースに渡すのと同じように、NUnit3テストフィクスチャにデータを渡すことはできますか? これを行うことは理にかなっていますか? (パラメータに基づいてスイート(フィクスチャクラス)を実行する)データをテストケースに渡すのと同じように、テストフィクスチャにデータを渡すことはできますか?
2
A
答えて
3
絶対に!
渡す必要があるパラメータの量が限られている場合は、これらを通常の[TestFixture]
属性に入れて、TestFixtureのコンストラクタに渡します。例えば
[TestFixture("hello", "hello", "goodbye")]
[TestFixture("zip", "zip", "zap")]
public class ParameterizedTestFixture
{
private string eq1;
private string eq2;
private string neq;
public ParameterizedTestFixture(string eq1, string eq2, string neq)
{
this.eq1 = eq1;
this.eq2 = eq2;
this.neq = neq;
}
このバージョンでは、2つの異なるパラメータセットを使用してテストフィクスチャを2回実行します。 (Docs)
さらに多くのパラメータがある場合は、同じ方法で動作しますが、属性で指定された明示性とは異なり、静的メソッドでパラメータを計算できます。[TestFixtureSource]
を参照してください。このような(Docs)何か:あなたは実行時にでパラメータを渡す必要がある場合
[TestFixtureSource(typeof(FixtureArgs))]
public class MyTestClass
{
public MyTestClass(string word, int num) { ... }
...
}
class FixtureArgs: IEnumerable
{
public IEnumerator GetEnumerator()
{
yield return new object[] { "Question", 1 };
yield return new object[] { "Answer", 42 };
}
}
最後に、これは、NUnitののV3.4の新--params
コマンドラインオプションを通じても可能です。これはまだ文書化されていないようですが、NUnitのコンソールコマンドラインに--params:X=5;Y=7"
の形式で渡すことができます。その後、TestContext.Parameters
クラスから検索できます。
関連する問題
- 1. データをCSSファイルに渡すことはできますか?
- 2. postgreSQLトリガにデータを渡すことはできますか?
- 3. アクティビティでonActivityResultデータをどのように渡すことができますか?
- 4. 注釈をクリックすると、どのようにView Controllerにデータを渡すことができますか?
- 5. アクティビティのデータをフラグメントに渡すことができません。
- 6. 前のビューコントロールにデータを渡すことができません
- 7. asp.net:コントローラとビューの間で同じデータを渡す方法は?
- 8. どのようにデータを渡すか?
- 9. テーブルビューは同じデータを別のテーブルビューに渡します
- 10. selectで同じデータを渡すテーブルビュー
- 11. ハンドルバーテンプレートにデータを渡すことができません
- 12. asp.netコアにデータを渡すことができません
- 13. XMLデータからエンティティをxsltスタイルシートに渡すことはできますか?
- 14. Googleアナリティクスの注釈にデータを渡すことはできますか?
- 15. TCLでは、このようにパラメータを渡すことはできますか?
- 16. JavaScriptから同じファイルのphpにデータを渡す
- 17. 提出後に別のページにデータを渡すことはできません
- 18. どのようにして要素のchange()メソッドにデータを渡すことができますか?
- 19. PageDataはWebMatrixでデータを渡すことができません
- 20. POSTデータをフォームから同じページに渡す
- 21. jsonobjectをこのように渡すことはできますか?
- 22. このように列名を渡すことはできますか?
- 23. Googleマップを非同期にロードするときにコールバックにデータを渡すV3
- 24. ブートストラップモーダルで動的データを渡すには?私は次のことを達成しようとしています
- 25. フォームデータとjqGrid(editUrl)データを同時にコントローラに渡す方法
- 26. コンポーネントからサービスにデータを渡すことができません
- 27. ブレードからvueにデータを渡すことができません(Laravel 5.3)
- 28. ビュー間でデータを渡すことができません
- 29. クラス間でデータを渡すことができません
- 30. Segueでデータを渡すことができません - Swift3
あなたはNUnitの2 TestFixtureSourceを使用している場合、クリスは言及してすべてのものの、唯一のTestFixture属性が利用可能であることを注意NUnitの3でTestParametersものが来る、それはあなたが別の値を渡すことはできませんので、明らかにわずかに異なっています異なる器具。全体の実行に有効な一般的なパラメータを提供します。 – Charlie