2014-01-16 50 views
-1

我是新来的java,我需要用SuperTest类做2个测试类。 现在我有以下内容:超级测试

这是我的超级班。我想在这里做的是把结果放在它应该给。

public class SuperTest 
{ 
public void test (Zoeker zoeker) 
{ 
    assertArrayEquals(new int[] {21, 27}, zoeker.zoek("AC")); 
    assertArrayEquals(new int[] {5, 9}, zoeker.zoek("GC")); 
    assertArrayEquals(new int[] {0, 11, 15}, zoeker.zoek("AT")); 
} 
} 

这是我的一个测试类。在这里我想创建一个对象来使用supertest类的方法来测试Algoritme1类。

public class Test1 extends SuperTest 
{ 

Zoeker zoeker; 

@Test 
public void Algoritme1() 
{ 
    SuperTest algoritm1 = new SuperTest(); 
    algoritm1.test(zoeker);  

} 

} 

此刻我得到一个空指针异常。

回答

1

你得到一个空指针异常,因为你定义了一个名为zoeker的字段,但没有初始化它。与C不同的是,Java变量都是引用(相当于C中的指针),因此Test1中的zoeker为空:它不表示对象,而是对象的空容器。

我不是很确定你想要什么来实现,但最简单的解决是增加:

zoeker = new Zoeker();

在Algoritme1(),这将防止NullPointerException异常。