나는 테스트해야 할 세 가지 클래스가있다.로드, 변환, 수행을 말하며, 모두 동일한 데이터 객체를 시작하거나 작업한다. 적어도 하나의 데이터 객체에서 필요하다. , 그리고 그것은 그것의 메소드로 그것의 일을 수행하는 Transform에 주어지며, 데이터 객체를 약간 변경하고 그것이 준비된 Perform입니다.Junit 테스트에서 동일한 데이터 객체를 공유합니까? 나는 그걸 모방해야 할까? 뭐라구?
이제로드, 변환 및 수행에 대한 테스트를 작성하고 싶습니다.
테스트 데이터 객체, 난 그냥
public static TestData makeTestData(...makeit...)
또는 내가 TestDataMock 또는 TestDataTest 클래스를 확인해야합니다 같은로드 클래스의 정적 메서드를해야한다? 어느 것이 그 예일 수 있습니까? 또한 각 Load, Transform 및 Perform에서 작업 할 필요가있을 때 새로운 TestDataTest 클래스를 만드시겠습니까?
그들은 밀접하게 결합되어 있지 않으며 단지 응용 프로그램 외부에서 키 - 값 형식으로 동일한 데이터를 처리합니다.두 번째 클래스는 첫 번째 클래스에서 좋은 작업을 수행하는 데 의존합니다. 그렇지 않으면 두 번째 클래스가 실패하고 그 다음 세 번째 클래스도 실패합니다. – rapadura
"두 번째 클래스는 첫 번째 클래스에서 좋은 작업을 수행하는 데 의존합니다."즉, 두 번째 클래스의 유효한 입력 데이터를 설정하는 유일한 방법은 첫 번째 클래스를 사용하는 것이고 수업. 클래스간에 흐르는 데이터를 새 클래스로 추상화 해보십시오.이 클래스는이 세 클래스가 처리하는 대상의 종류를 설명합니다. 'Load','Transform','Perform'과 같은 프로 시저 이름을 가진 클래스는 디자인 문제가 있음을 나에게 시사합니다. – Raedwald