2011-02-10 5 views
1

私は何かをテストするためにJUnitテストを作成しようとしていますが、クリックするだけではありません。私は、クラスをテストしているが、元のクラスをテストフィクスチャとして実装する別のクラスを使用するjUnitテスターを設計することになっています。Object Fixtureを使ったJUnitテスト

私は、アレイの前面に追加するなどいくつかのメソッドを持つ汎用の円形配列を作成することになっています。配列のキャストを正しく実装したここでは、今、私が欲しいものサンセリフコメント

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を実装するList12.javaを作成し、うまく動作するList12Tester.javaを書きました。しかし、この課題では、SomeCode.classをテストするSomeTester.javaを書く必要がありますが、SomeCode.classをテストフィクスチャとして実装するArray12を使用します。

私は私が本当に混乱しているように私はそれを最高に説明してくれることを願っています。私はTAを援助するつもりですが、誰かが私を助けてくれるかもしれないと思います。答えが本当に明白である場合に私のTAに尋ねる。 :) みんなありがとう!

答えて

0

ヒント:junit.framework.TestCaseのメソッドのシグネチャを確認してください。スーパークラスのメソッドをオーバーライドするとき、それは@Override

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

を使用するのが最善ですtearDown()は、スーパークラスのメソッドでなかった場合、コンパイラは文句を言うでしょう。