Java 将JUnit结果打印到文件
我想将JUnit测试的结果打印到Java 将JUnit结果打印到文件,java,junit,junit4,Java,Junit,Junit4,我想将JUnit测试的结果打印到.txt文件中 以下是我的代码: try { //Creates html header String breaks = "<html><center><p><h2>"+"Test Started on: "+df.format(date)+"</h2></p></center>"; //Creating two files for passing an
.txt
文件中
以下是我的代码:
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();
}
}
我尝试了
p.append()
,但没有成功。请帮忙。我相信这个功能已经存在了。阅读JUnit的常见问题。你可能在这里发明了轮子,X构建工具或您的应用程序应该为您执行此操作。通常,您可以将输出重定向到文件,如下所示:-如果您使用的是eclipse:
运行配置-->公用-->输出文件-->您的文件名
- 如果从命令行运行,只需使用:
java….>output.txt
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");
}
}
公共类UnitTestRunner{
静态JUnitCore-JUnitCore;
静态类testclass;
公共静态void main(字符串[]args){
System.out.println(“运行Junit测试套件”);
结果=JUnitCore.runClasses(TestSuite.class);
for(失败:result.getFailures()){
System.out.println(failure.toString());
}
System.out.println(“成功:”+result.wassuctive()+
“ran”+result.getRunCount()+“tests”);
}
}
问题是,我要让junit项目有一个可运行的jar,双击junitest.jar文件,它将打开并运行tests@Limpep为什么?这就是build/CI工具为您所做的。我可能还不熟悉java和junit测试。@Limpep这很酷:)。我已经修改了我的答案,以便将工具链接起来。我强烈建议您使用这些工具,而不是试图重新发明轮子。这些工具被认为是行业标准,所以现在学习它们很好。
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");
}
}