1

何かをテストするために JUnit テストを作成しようとしていますが、クリックしていません。クラスをテストしているが、元のクラスをテストフィクスチャとして実装する別のクラスを使用する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 テスターを作成しようとすると、壁にぶつかり、それを実行するために何をする必要があるのか​​ かなり行き詰まっているからです。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;
}

問題は、array12 = new Array12(Class, 0); です。

正しく動作していないようです。また、jUnit テスターで間違った構文を使用しているだけなのか、それとも Array12 を間違って記述したのかはわかりません。それを修正する方法に関するヒントはありますか?

免責事項 これは宿題のためなので、解決策を探しているわけではありませんが、コーディング エラーをどこで犯したかについてのヒントと、私が持っていたのとは異なるテスト フィクスチャを使用して jUnit テスターを作成する方法についての洞察を探しているのかもしれません。これまでの経験は、特定のクラスの jUnit テストを作成することです。たとえば、LinkedLists を実装する List12.java を作成し、正常に機能する List12Tester.java を作成しました。ただし、この割り当てでは、SomeCode.class をテストする SomeTester.java を作成する必要がありますが、テスト フィクスチャとして SomeCode.class を実装する Array12 を使用します。

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

4

1 に答える 1

0

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

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

tearDown()スーパークラスのメソッドではない場合、コンパイラは文句を言います。

于 2011-02-11T06:13:05.137 に答える