2012-06-09 213 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