使用对象夹具进行JUnit测试

时间:2011-02-10 09:32:58

标签: java testing junit fixture

嘿伙计们我正在尝试编写一个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 = new Array12(Class,0);

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

声明 这是一个家庭作业,所以我不是在寻找解决方案,而是提示我编写错误的地方,也许还有一些关于如何使用不同的测试夹具编写jUnit测试人员的更多见解,因为我有过所有经验到目前为止,正在为特定类编写jUnit测试。例如,我编写了一个实现LinkedLists的List12.java,并编写了一个工作正常的List12Tester.java。但是,在这个赋值中,我需要编写一个SomeTester.java来测试SomeCode.class但是使用Array12来实现SomeCode.class作为测试夹具。

我希望我尽可能地解释它,因为我真的很困惑,而且我打算让我的助教帮助我,但我想也许有人可以帮助我,所以在询问时我看起来不太傻我的TA以防万一,答案非常明显。 :)谢谢你们!

1 个答案:

答案 0 :(得分:0)

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

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

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