user238384 user238384 - 10 days ago 5
Java Question

Java Junit testing problem

I am using Junit 4. My whole program is working fine. I am trying to write a test case. But there is one error...

here is very basic sample test

public class di extends TestCase{
private static Records testRec;
public void testAbc() {
Assert.assertTrue(
"There should be some thing.",
di.testRec.getEmployee() > 0);
}

}


and when i run this it give me error that

fName can not be null


if i use super and do like this

public TestA() {
super("testAbc");
}


it work all fine. It wasn't this before with JUnit 3.X
am I doing wrong or they changed it :(
Sorry if I am not clear

Is there any way to executre test without super? or calling functions etc. ?

Answer

In JUnit 4 you need not extend TestCase, instead use the @Test annotation to mark your test methods:

public class MyTest {
    private static Records testRec;
    @Test
    public void testAbc() {
        Assert.assertTrue(
            "There should be some thing.",
            MyTest.testRec.getEmployee() > 0);
    }
}

As a side note, testing a static member in your class may make your unit tests dependent on each other, which is not a good thing. Unless you have a very good reason for this, I would recommend removing the static qualifier.