私は、Javaに慣れていない午前なく、C#の(NUnitの)には、次のよう[TestCase]
属性を追加することにより、ユニットテストをパラメータ化することができますユニットテストをパラメータで書くには?
[TestCase(12,3,4)]
[TestCase(12,2,6)]
[TestCase(12,4,3)]
public void DivideTest(int n, int d, int q)
{
Assert.AreEqual(q, n/d);
}
我々は、すべてのテストケースのための別々のユニットテストを記述する必要はありません。代わりに[TestCase]を記述して値を変更しています。
Javaに同等のものはありますか? 現在使用中Junit 4.12
パラメータ化されたテスト(https://www.tutorialspoint.com/junit/junit_parameterized_test.htm)を見てください。コンストラクタに注意してください - メソッドが取ることができるargsの数を指定できます。 Javaではそれほど美味しくはない(とは言えないかもしれませんが)、これは一つの選択肢になり、異なるテストデータに対して同じテストケースを再利用することができます – rj2700
@ robjob27、私はあなたが提供したリンクを見ました。しかし、それはnunitのように見栄えがよくありません。もっとエレガントに見えるようにすることはできますか?エレガントな意味では、nunitのように単純化されています。少なくとも、新しい属性を書き込んでJUnitスタイルに変換するオプションはありますか? –
@AkinerAlkanええ、私は同意します。これらはかなり見えません。ちょっとしたこととして、C#の中で本当にクールなものは理論です。基本的には上記のテストケースのようですが、それをさらに抽象化します。 – rj2700