2016-09-01 2 views
-1

어떻게이 생성자를 단위화할 수 있습니까?기본 생성자를 Junit 테스트하는 방법?

private Item[] items; 

private int currentIndex; 



/** 
* Default Constructor 
*/ 
public Inventory() 
{ 
    this.items = new Item[1]; 
    this.currentIndex = 0; 
} 
+3

입니다 같이 테스트 할 수있는 논리가 없습니다. – SLaks

+0

Assert getCurrentIndex() == 0. Assert getItems(). 길이 == 1. Assert getItems() [0] == null입니다. – Andreas

+1

컴파일되지 않습니다. –

답변

-1

비공개 테스트 멤버 및 필드를 비공개로 만드는 것이 일반적입니다. 이처럼

Item[] items; 
int currentIndex; 

public Inventory() 
{ 
    this.items = new Item[1]; 
    this.currentIndex = 0; 
} 

지금 한 단위 테스트의 Inventory 클래스와 같은 패키지에

public void testCtor() { 
Inventory i = new Inventory(); 
assertNotNull(i.items); 
assertEqual(1, i.items.length); 
assertEqual(0, i.currentIndex); 
} 
+0

테스트 목적으로 생산 코드를 변경하는 것은 제 의견으로는 좋지 않습니다. –

+0

코드를 테스트 할 수 있도록 작성해야합니다. 프로덕션 코드를 처음부터 테스트 할 수 있도록 설계했다면이 문제는 발생하지 않을 것입니다. 돌아가서 깨진 코드를 수정하는 것이 잘못되었다고 생각하십니까? –

+0

그건 내가 말하고 싶은 것이 아닙니다. 단위 테스트를 위해서만 개인용으로 변경하려는 회원을 둔다면 내가 좋아하지 않는 것입니다. –

관련 문제