Java 使用对象夹具进行JUnit测试

Java 使用对象夹具进行JUnit测试,java,testing,junit,fixture,Java,Testing,Junit,Fixture,嘿,伙计们,我正试图编写一个JUnit测试来测试一些东西,但它只是没有点击。我应该设计一个jUnit测试仪,它测试一个类,但使用另一个实现原始类的类作为测试夹具 我应该制作一个通用的循环数组,它有一些方法来处理某些事情,比如在数组的前面和后面添加,等等。我不太确定我是否正确地实现了数组转换,因为您无法转换泛型类型数组,但我们被要求使用有界通配符,所以我认为我实现它的方式是正确的……这里是sans注释 public class Array12<E> implements LimCapL

嘿,伙计们,我正试图编写一个JUnit测试来测试一些东西,但它只是没有点击。我应该设计一个jUnit测试仪,它测试一个类,但使用另一个实现原始类的类作为测试夹具

我应该制作一个通用的循环数组,它有一些方法来处理某些事情,比如在数组的前面和后面添加,等等。我不太确定我是否正确地实现了数组转换,因为您无法转换泛型类型数组,但我们被要求使用有界通配符,所以我认为我实现它的方式是正确的……这里是sans注释

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=新的array12类,0

似乎工作不正常。我不确定我是否只是在jUnit测试仪中使用了错误的语法,或者我是否编写了错误的Array12。有关于如何修复它的提示吗

免责声明 这是一个家庭作业,所以我不是在寻找解决方案,而是关于我在哪里犯了编码错误的提示,以及关于如何使用不同的测试夹具编写jUnit测试程序的更多见解,因为到目前为止,我所有的经验都是为特定类编写jUnit测试。例如,我编写了一个实现LinkedList的List12.java,并编写了一个运行良好的List12Tester.java。但是,在本作业中,我需要编写一个SomeTester.java来测试SomeCode.class,但使用Array12实现SomeCode.class作为测试夹具


我希望我已经尽可能地解释清楚了,因为我真的很困惑,我确实计划向助教寻求帮助,但我想也许有人可以帮助我,这样我在问助教时就不会显得太傻,以防答案真的很明显谢谢大家

提示:检查junit.framework.TestCase方法的签名。在超类中重写方法时,最好使用@Override

如果tearDown不是超类中的方法,那么编译器会抱怨

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