2012-06-09 214 views
0

使用JUnit 4.10这里是我的测试。使用junit进行单元测试4.10

package geometry; 

import org.junit.Assert.*; 
import org.junit.Test; 

public class SegmentTest extends junit.framework.TestCase { 

    @Test 
    public void SegmentParallelTest() { 
     Segment a = new Segment(10, 5, 20, 11); 
     Segment b = new Segment(20, 6, 30, 11); 
     assertFalse(a.isParallel(b)); 
    } 

    public static junit.framework.Test suite() { 
     return new junit.framework.JUnit4TestAdapter(SegmentTest.class); 
    } 

    public static void main(String args[]) { 
     org.junit.runner.JUnitCore.main("geometry.SegmentTest"); 
    } 
} 

将会产生以下错误消息......

junit.framework.AssertionFailedError: No tests found in geometry.SegmentTest 
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) 
    at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39) 
    at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83) 
    at org.junit.runner.JUnitCore.run(JUnitCore.java:157) 
    at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:71) 
    at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:202) 
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) 

有什么不对的这种做法?

回答

6

您正在扩展TestCase,它们的名称中包含的测试方法以test开头。删除extends junit.framework.TestCase,它会正常工作。

package geometry; 

import org.junit.Test; 
import static org.junit.Assert.assertFalse; 

public class SegmentTest { 

    @Test 
    public void segmentParallelTest() { 
     Segment a = new Segment(10, 5, 20, 11); 
     Segment b = new Segment(20, 6, 30, 11); 
     assertFalse(a.isParallel(b)); 
    } 

} 
+0

如果我删除了扩展 - 无法文件符号方法assertFalse(布尔)。 – Arif

+0

你需要静态导入'assertFalse(boolean)'。在我的答案中看到上面的代码。 – stefanglase

+0

谢谢,它工作。 – Arif