JUnit 보고서를보십시오. JUnit은 이미 패키지별로 구성되어 있습니다. 각 패키지는 TestSuite 클래스를 갖거나 가질 수 있으며, 각 클래스는 여러 개의 TestCase를 실행합니다. 각 TestCase는 형식의 여러 테스트 메소드를 가질 수 있으며 public void test*()
, 각 메소드 는 실제로 이들이 속하는 TestCase 클래스의 인스턴스가됩니다. 각 테스트 방법 (TestCase 인스턴스)에는 이름과 통과 / 실패 기준이 있습니다.
경영진이 필요로하는 것은 개별 TestStep 항목 의 개념으로 , 각각 고유 한 합격 / 불합격 기준을보고합니다. 테스트 단계가 실패해도 후속 테스트 단계가 실행되지 않아야합니다.
과거에는 테스트 개발자가 테스트중인 제품의 일부에 해당하는 패키지로 TestCase 클래스를 구성하고 각 테스트에 대해 TestCase 클래스를 작성했으며 테스트에서 각 테스트 방법을 별도의 "단계"로 만들었습니다. JUnit 출력에서 자체 통과 / 실패 기준으로 완료하십시오. 각 TestCase는 독립형 "테스트"이지만 TestCase 내의 개별 메소드 또는 테스트 "단계"는 특정 순서로 발생해야합니다.
TestCase 방법은 TestCase의 단계였으며 테스트 디자이너는 테스트 단계마다 별도의 합격 / 불합격 기준을 받았습니다. 이제 테스트 단계가 혼란스럽고 테스트는 물론 실패합니다.
예를 들면 다음과 같습니다.
Class testStateChanges extends TestCase
public void testCreateObjectPlacesTheObjectInStateA()
public void testTransitionToStateBAndValidateStateB()
public void testTransitionToStateCAndValidateStateC()
public void testTryToDeleteObjectinStateCAndValidateObjectStillExists()
public void testTransitionToStateAAndValidateStateA()
public void testDeleteObjectInStateAAndObjectDoesNotExist()
public void cleanupIfAnythingWentWrong()
각 테스트 방법은 자체적 인 합격 / 불합격 기준을 주장하고보고합니다. 주문을 위해이를 "하나의 큰 테스트 방법"으로 축소하면 JUnit 요약 보고서에서 각 "단계"의 합격 / 불합격 기준 세분성이 손실됩니다. ... 내 매니저들을 화나게합니다. 그들은 현재 다른 대안을 요구하고 있습니다.
스크램블 된 테스트 방법 순서를 가진 JUnit이 위에서 예시되고 관리자가 요구하는 각 순차적 테스트 단계의 개별 통과 / 실패 기준을 어떻게 지원하는지 설명 할 수 있습니까?
문서에 관계없이 JUnit 프레임 워크에서 심각한 회귀가 발생하여 많은 테스트 개발자가 어려움을 겪고 있다고 생각합니다.