次のシナリオのテストを手伝ってください
public class Myproject {
Teacher tescher;
public Teacher test(teacher teach){
String name="A";
String sub="b";
tescher= new Teacher(name,sub);
return tescher;
}
}
ありがとう
@Test
public void test(){
Myproject myProject = new Myproject();
Teacher teacher = myProject.test(new Teacher("some","thing")); // Assuming Teacher don'thave default constuctor
assertEquals("A",teacher.getName()); //assuming static import
assertEquals("b",teacher.getSub());
}
私はあなたがあなたのコードに以下を持っているべきであることを提案します:
tescher= new Teacher(teacher.getName(),teacher.getName());
それ以外の
tescher= new Teacher(name,sub);
この場合、メソッドを呼び出して確認するだけです。
正しいプロパティが設定されたTeacherインスタンスが返されます。
フィールドはそのTeacherインスタンスに設定されます。おそらく、そのフィールドを使用するクラスで他のメソッドを使用することによって。
他のオブジェクトが実際に作成される余裕がない、またはオブジェクトが正しいプロパティを持っていることを簡単に確認できない、より複雑なケースでは、PowerMockが役立つ場合があります。