2017-11-16 8 views
0

私は本当に包括的な方法です。このメソッド内では、他のメソッドのカップルが呼び出され、各メソッドは前のメソッドに依存します。JUnitは包括的な方法をテストします

私の質問は、JUnitを使用してこの複雑なメソッドをテストする最良の方法は何ですか?

@Testメソッドを1つだけ作成し、このメソッド内で他のメソッドを呼び出すことはできますか?例:

@Test 
public void testRun(){ 
    testMethod1(); 
    testMethod2(); 
    ... 
} 

testMethod1(){ 
assertNotEquals(); 
... 
} 

私はそれが簡単だとは信じられません。それぞれの方法を自分でテストするほうがいいですか?しかし、私はそれをどのように実装できますか?彼らのベストプラクティスはありますか?

これは正しい方法かもしれません。

ありがとうございました!:)

+0

あなたはそれぞれの方法を自分でテストすることはできないと思いますか?特定の状態を前もって設定し、その後の結果を確認することは可能でなければなりません。 – RobAu

+1

あなたのメソッドは複雑すぎるべきではありません。あなたの方法はできるだけ短くしてください(https://softwareengineering.stackexchange.com/a/146274/32666)。そうすれば、それらをテストしてコードベースを維持する方が簡単になります。 –

+1

私は彼らがプライベートだと思います。しかし、あなたがテストを書くのに苦労しているときは、コードが高品質でないかもしれないということがあります。 – Pijotrek

答えて

1

最初に包括的な方法をリファクタリングする必要があります。

あなたは、内部のメソッドがお互いに依存していることを暗示しています。それは、私たちが同じ意味で同じ「国家」を共有して更新することを意味します。

この状態をオブジェクトに抽出し、このオブジェクトを各内部メソッドのパラメータとして使用してください。

これにより、内部メソッドを別々にテストできます。

関連する問題