0
TestNG 6.8.8
理解テストスイート
私は、次のインタフェースがあります。今、私はMyInterface
実装の束を持って
public interface MyInterface{
/**
* Some contract
**/
public String convert(String arg);
}
をJavaDoc
で定義されている一般契約と特定の実装の詳細をテストしたいと思います。私はこのような何か書きたい:
public class MyInterfacecontractTestSuite{
@Test(dataProvider="someDataProvider")
public void testContract(MyInterface mi, String arg){
//test
}
}
と、例えば
public class MyInterface1ImplTest{
//test cases for the implementation MyInterface1Impl
}
をしかし、それはMyInterface1Impl
ための例は、すべてのかもしれないMyInterface1ImplTest
クラスではないことに少し厄介に見えますちょっと混乱します。
しかし、すべての実装テストクラスで一般契約の重複テストケースを置くのも変です。
私は正しい方法であれば分かりません。おそらく、そのような契約をテストするためのより良い解決策があります。
をはい、私はアイデアのこの種について考え、それを拒否しました。インプリメンテーションで基本的な契約をテストするために必要な複数のインタフェースが実装されている場合はどうすればよいですか?私はそれが問題かもしれないと思った...しかし、とにかく、それは良く見える。 – user3663882
実装が実装しているインターフェイスに応じて、Factory(http://testng.org/doc/documentation-main.html#factories)を実装し、MyInterfacecractractTestSuite(およびその他のインターフェイス関連のテストクラス)を生成することができます。しかし、重複よりも複雑になる可能性があります。 – juherr