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. ?
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.
This is not your case but this error may also mean that you have a file named Test.java
in your project. Renaming it will fix the error but after refactoring @Test
will be changed to @NewName
(at least in Eclipse) so remember to manually change it back to @Test
.
精彩评论