2017-08-22 13 views
-1

テストしたいSomeClassメソッド。そのために@Before注釈を使用する場合のコンストラクタのテスト

私は@Beforeアノテーションを使用し、SCという名前工assのインスタンスを開始していますので、私はすべてのテストに工assインスタンスを必要としています。

問題は次のとおりです。 -コンストラクタ関数は、すでに使用した後にどうすればテストできますか?それは意味をなさない。

追加質問: -コンストラクタは引数の数を取得することができ、彼らはメソッドの出力をinflunceことができ、私が代わりにそのインスタンスを作成するのは、このクラスをモックする必要がありますか?

public class SomeClassTest { 
     SomeClass SC; 

     @Before 
     public void initlize() throws IOException{ 
      SC= new SomeClass (argument1,argument2,..); 
     } 

     @Test 
     public void ConstructorTest() { 
     } 

答えて

1

ConstructorTestでオブジェクトSCを使用しないでください。特定のパラメータを持つSomeClassオブジェクトの構築から特定の結果をテストすることを望んでいない場合は、ConstructorTest内でそのように構築し、新しく構築されたオブジェクトで期待される関連結果をアサートします。

あなたはこのクラスを嘲笑すべきではありません。テストはこのクラスをテストするためのものなので、あなたが模擬している場合は、実際には何もテストしていません。

関連する問題