2011-02-10 1 views
1

안녕하세요, 저는 JUnit 테스트를 작성하려고하지만 무언가를 테스트하려고합니다. 나는 클래스를 테스트하는 jUnit 테스터를 디자인해야하지만 원래 클래스를 구현하는 다른 클래스를 테스트 픽스처로 사용한다.개체 고정 장치를 사용하여 JUnit 테스트

배열의 앞과 뒤에 등을 추가하는 것과 같은 특정 방법을 사용하는 일반적인 원형 배열을 만들어야합니다. Array 캐스팅을 올바르게 구현했는지 확신 할 수 없습니다. 당신은 제네릭 형식의 배열을 캐스팅 할 수 있지만 내가 그것을 구현하는 방식이 괜찮 생각 있도록 경계 와일드 카드를 사용하도록 요청했습니다 .... 여기가 산세입니다 내가 원하는 이제 어떻게

public class Array12<E> implements LimCapList<E> 
{ 
private int maxSize; 
private int first; 
private int last; 
private int size; 
private E[] A12; 

@SuppressWarnings("rawtypes") 
public Array12(Class <? extends E> clazz, int capacity) 
{ 
    this.maxSize = capacity; 
    this.size = 0; 
    this.first = 0; 
    this.last = 0; 
    @SuppressWarnings({ "unchecked", "unused" }) 
    Array12 A12 = new Array12(clazz, capacity); 
} 

코멘트 함수는 크기 용량을 가진 원형 clazz 유형을 만드는 것입니다. 올바르게 구현 했습니까? 내가 물어 보는 이유는 jUnit 테스터를 만들려고 할 때 벽에 부딪쳐서 내가 그것을 얻으려면 무엇이 필요한지에 상당히 집착했기 때문입니다. 여기에 ....

public class LimCapListTester extends junit.framework.TestCase 
{ 
private Array12 array12; 

protected void setUP() 
{ 
    array12 = new Array12(Class<String>, 0); 
} 

protected void tearDown() 
{ 
    array12 = null; 
} 

문제는, 내가 지금까지 JUnit을 테스터에있어 무엇 array12 = 새로운 Array12 (클래스, 0);

제대로 작동하지 않는 것 같습니다. jUnit 테스터에서 잘못된 구문을 사용하고 있는지 또는 Array12를 잘못 작성했는지 확실하지 않습니다. 그것을 고치는 방법에 대한 어떤 힌트?

부인 이 내가 해결책을 찾는 게 아니에요, 그래서 숙제를 위해, 오히려 내가 코딩 오류 및 다른 테스트와 JUnit을 테스터를 작성하는 방법에 어쩌면 좀 더 통찰력을 만든 위치에 대한 힌트 지금까지 경험 해본 모든 것들은 특정 클래스에 대한 jUnit 테스트를 작성하고 있습니다. 예를 들어, LinkedLists를 구현하고 List12Tester.java를 작성한 List12.java를 작성했습니다. 그러나이 과제에서는 SomeCode.class를 테스트하지만 SomeCode.class를 테스트 픽스처로 구현하는 Array12를 사용하는 SomeTester.java를 작성해야합니다.

나는 내가 할 수있는 한 최선을 다해 설명했으면 좋겠다. 나는 정말로 혼란스럽고 나는 도움을 청하기 위해 계획을 세운다.하지만 어쩌면 누군가 나를 도와 줄 수있을 것이라고 생각한다. 대답이 정말로 분명한 경우 TA에게 물어보십시오. :) 고마워요!

답변

0

힌트 : junit.framework.TestCase의 서명을 확인하십시오. 슈퍼 클래스의 메서드를 재정의 때, tearDown() 슈퍼 클래스의 메소드가 아니었다면 @Override

@Override 
protected void tearDown() { 
    array12 = null; 
} 

를 사용하는 것이 가장 좋습니다, 다음 컴파일러는 불평 것입니다.