Тестирование JUnit с помощью объекта Fixture - PullRequest
1 голос
/ 10 февраля 2011

Эй, ребята, я пытаюсь написать тест 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 с размером size.Правильно ли я это реализовал?Причина, по которой я спрашиваю, заключается в том, что, когда я пытаюсь создать тестер 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 для определенного класса.Например, я написал List12.java, который реализует LinkedLists, и написал List12Tester.java, который работал нормально.Однако в этом назначении мне нужно написать SomeTester.java, который тестирует SomeCode.class, но использует Array12, который реализует SomeCode.class в качестве тестового приспособления.

Надеюсь, я объяснил это как можно лучше, как могуЯ действительно сбит с толку, и я планирую обратиться за помощью к моим TA, но я думаю, что кто-то может мне помочь, поэтому я не выгляжу слишком глупым, когда спрашиваю мою TA в случае, если ответ действительно очевиден.:) Спасибо, ребята!

1 Ответ

0 голосов
/ 11 февраля 2011

Подсказка: проверьте подписи методов junit.framework.TestCase.При переопределении метода в суперклассе лучше использовать @Override

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

Если tearDown() не является методом в суперклассе, компилятор будет жаловаться.

...