2010-12-09 117 views
4

我想將我的JUnit測試結果打印到.txt文件。將JUnit結果打印到文件

以下是我的代碼:

try { 
    //Creates html header 
    String breaks = "<html><center><p><h2>"+"Test Started on: "+df.format(date)+"</h2></p></center>"; 

    //Creating two files for passing and failing a test 
    File pass = new File("Result_Passed-"+df.format(date)+ ".HTML"); 
    File failed = new File("Result_Failed-"+df.format(date)+ ".HTML"); 
    OutputStream fstreamF = new FileOutputStream(failed, true); 
    OutputStream fstream = new FileOutputStream(pass, true); 
    PrintStream p = new PrintStream(fstream); 
    PrintStream f= new PrintStream(fstreamF); 

    //appending the html code to the two files 
    p.append(breaks); 
    f.append(breaks); 

    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

以下是我的榜樣測試用例:

public void test_001_AccountWorld1() { 

    // Open the MS CRM form to be tested. 
    driver.get(crmServerUrl + "account"); 
    nameOfIFRAME = "IFRAME_CapCRM"; 

    PerformCRM_World1("address1_name", "address1_name", "address1_line1", "address1_postalcode", true); 

    assertEquals(firstLineFromForm.toString(), ""); 
    assertEquals(secondLineFromForm.toString(), "Donaustadtstrasse Bürohaus 1/2 . St"); 
    assertEquals(postcodeFromForm.toString(), "1220");  

} 

我試過p.append()但不起作用。請幫助。

回答

1

你可能正在重新發明這裏的車輪。 ANT,Maven,X構建工具或你的CI server應該爲你做這個。

+0

事情是我即將有junit項目一個runnable罐 – 2010-12-09 12:59:23

1

在一般情況下,你可以重定向你的輸出到文件,如下所示:
- 如果你正在使用的Eclipse: Run configuration-->Commons-->OutputFile-->Your file name enter image description here

  • 如果運行以命令行形式,只需使用: java ..... >output.txt
0

當我正在尋找這樣做時,我運行它的命令行,與自定義亞軍,運行自定義套件。非常簡單,幾乎沒有代碼。該套件只有你想運行的測試,跑步者在下面。你可以看到打印出來的邏輯。我的代碼只是打印出錯誤,但您可以輕鬆地調整以打印所有文件。本質上,你只是看着失敗和成功的結果對象集合。

public class UnitTestRunner { 
static JUnitCore junitCore; 
static Class<?> testClasses; 



public static void main(String[] args) { 
    System.out.println("Running Junit Test Suite."); 
    Result result = JUnitCore.runClasses(TestSuite.class); 
     for (Failure failure : result.getFailures()) { 
     System.out.println(failure.toString()); 
     } 
     System.out.println("Successful: " + result.wasSuccessful() + 
     " ran " + result.getRunCount() +" tests"); 
    } 

}