简体   繁体   English

如何在Junit for NeticaJ中解决NullPointerException?

[英]how to resolve NullPointerException in Junit for NeticaJ?

//This is my Main Class here when i call methodTwo in this class i got numnodes=4 but when i tried to access methodTwo in testclass i got NullPointerException. //这是我的主类,当我在这个类中调用methodTwo时,我得到了numnodes = 4但是当我试图在testclass中访问methodTwo时,我得到了NullPointerException。

package Netica;

import norsys.netica.Environ;
import norsys.netica.Net;
import norsys.netica.NodeList;
import norsys.netica.Streamer;

import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;

import NeticaTestCases.HNetTest;

public class HNet {
    private static long startTime = System.currentTimeMillis();
    private static Net net;
    private static NodeList nodes;
    int numNodes;

    public int methodOne() {
        System.out.println("we are in first methodOne");
        return 1;
    }

    public int methodTwo() {
        numNodes = nodes.size();
        System.out.println("we are in 2nd methodTwo");
        return numNodes;
    }

    public static void main(String[] args) {
        try {


            // Read in the net file and get list of all nodes and also Total
            // number of nodes:
            net = new Net(neStreamer("DataFiles/KSA_4_Nodes_noisySum.dne"));
            nodes = net.getNodes();

            HNet temp = new HNet();
            temp.methodOne();
            System.out.println("numNodes========>"+temp.methodTwo());//get 4

        } catch (Exception e) {
        }

    }
}

//this is my testclass

package NeticaTestCases;

import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.fail;

import Netica.HNet;

public class HNetTest {
    HNet temp;

    @Before
    public void setUp() {
        temp = new HNet ();
    }

    @Test
    public void CheckNumNodes() {
        temp.methodOne();
        System.out.println("numNodes========>"+temp.methodTwo());       
        }   

} }

please help me out how to resolve NullPointerException in junit testcases. 请帮我解决如何解决junit测试用例中的NullPointerException问题。

Adding a statement initialising the nodes should get you rid of the exception - 添加一个初始化nodes的语句可以让你摆脱异常 -

@Before
public void setUp() {
    temp = new HNet ();
    temp.nodes = new NodeList();
} 

Also, would suggest you to try and improve on few points - 此外,建议你尝试改善几点 -

  1. Debug the difference between your main method and CheckNumNodes() test method. 调试main方法和CheckNumNodes()测试方法之间的区别。
  2. Use of getters and setters 使用getter和setter

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM