2010-12-09 67 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"); 
    } 

}