📄 junitreporttest.java
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */package org.apache.tools.ant.taskdefs.optional.junit;import java.io.File;import java.io.FileReader;import java.io.InputStream;import java.net.URL;import org.apache.tools.ant.BuildFileTest;import org.apache.tools.ant.util.FileUtils;/** * Small testcase for the junitreporttask. * First test added to reproduce an fault, still a lot to improve * */public class JUnitReportTest extends BuildFileTest { public JUnitReportTest(String name){ super(name); } protected void setUp() { configureProject("src/etc/testcases/taskdefs/optional/junitreport.xml"); } protected void tearDown() { executeTarget("clean"); } /** * Verifies that no empty junit-noframes.html is generated when frames * output is selected via the default. * Needs reports1 task from junitreport.xml. */ public void testNoFileJUnitNoFrames() { executeTarget("reports1"); if (new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/junit-noframes.html").exists()) { fail("No file junit-noframes.html expected"); } } public void assertIndexCreated() { if (!new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/index.html").exists()) { fail("No file index file found"); } } /** * run a target, assert the index file is there, look for text in the log * @param targetName target * @param text optional text to look for */ private void expectReportWithText(String targetName, String text) { executeTarget(targetName); assertIndexCreated(); if(text!=null) { assertLogContaining(text); } } public void testEmptyFile() throws Exception { expectReportWithText("testEmptyFile", XMLResultAggregator.WARNING_EMPTY_FILE); } public void testIncompleteFile() throws Exception { expectReportWithText("testIncompleteFile", XMLResultAggregator.WARNING_IS_POSSIBLY_CORRUPTED); } public void testWrongElement() throws Exception { expectReportWithText("testWrongElement", XMLResultAggregator.WARNING_INVALID_ROOT_ELEMENT); } // Bugzilla Report 34963 public void testStackTraceLineBreaks() throws Exception { expectReportWithText("testStackTraceLineBreaks", null); FileReader r = null; try { r = new FileReader(new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/sampleproject/coins/0_CoinTest.html")); String report = FileUtils.readFully(r); assertTrue("output must contain <br>", report.indexOf("junit.framework.AssertionFailedError: DOEG<br/>") > -1); } finally { FileUtils.close(r); } } // Bugzilla Report 38477 public void testSpecialSignsInSrcPath() throws Exception { executeTarget("testSpecialSignsInSrcPath"); File reportFile = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/index.html"); // tests one the file object assertTrue("No index.html present. Not generated?", reportFile.exists() ); assertTrue("Cant read the report file.", reportFile.canRead() ); assertTrue("File shouldnt be empty.", reportFile.length() > 0 ); // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); InputStream reportStream = reportUrl.openStream(); assertTrue("This shouldnt be an empty stream.", reportStream.available() > 0); } public void testSpecialSignsInHtmlPath() throws Exception { executeTarget("testSpecialSignsInHtmlPath"); File reportFile = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html# $%\u00A7&-!report/index.html"); // tests one the file object assertTrue("No index.html present. Not generated?", reportFile.exists() ); assertTrue("Cant read the report file.", reportFile.canRead() ); assertTrue("File shouldnt be empty.", reportFile.length() > 0 ); // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); InputStream reportStream = reportUrl.openStream(); assertTrue("This shouldnt be an empty stream.", reportStream.available() > 0); } //Bugzilla Report 39708 public void testWithStyleFromDir() throws Exception { executeTarget("testWithStyleFromDir"); File reportFile = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/index.html"); // tests one the file object assertTrue("No index.html present. Not generated?", reportFile.exists() ); assertTrue("Cant read the report file.", reportFile.canRead() ); assertTrue("File shouldnt be empty.", reportFile.length() > 0 ); // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); InputStream reportStream = reportUrl.openStream(); assertTrue("This shouldnt be an empty stream.", reportStream.available() > 0); } //Bugzilla Report 40021 public void testNoFrames() throws Exception { executeTarget("testNoFrames"); File reportFile = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/junit-noframes.html"); // tests one the file object assertTrue("No junit-noframes.html present. Not generated?", reportFile.exists() ); assertTrue("Cant read the report file.", reportFile.canRead() ); assertTrue("File shouldnt be empty.", reportFile.length() > 0 ); // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); InputStream reportStream = reportUrl.openStream(); assertTrue("This shouldnt be an empty stream.", reportStream.available() > 0); } //Bugzilla Report 39708 public void testWithStyleFromDirAndXslImport() throws Exception { executeTarget("testWithStyleFromDirAndXslImport"); File reportFile = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/index.html"); // tests one the file object assertTrue("No index.html present. Not generated?", reportFile.exists() ); assertTrue("Cant read the report file.", reportFile.canRead() ); assertTrue("File shouldnt be empty.", reportFile.length() > 0 ); // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); InputStream reportStream = reportUrl.openStream(); assertTrue("This shouldnt be an empty stream.", reportStream.available() > 0); } public void testWithStyleFromClasspath() throws Exception { executeTarget("testWithStyleFromClasspath"); File reportFile = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/index.html"); // tests one the file object assertTrue("No index.html present. Not generated?", reportFile.exists() ); assertTrue("Cant read the report file.", reportFile.canRead() ); assertTrue("File shouldnt be empty.", reportFile.length() > 0 ); // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); InputStream reportStream = reportUrl.openStream(); assertTrue("This shouldnt be an empty stream.", reportStream.available() > 0); } public void testWithParams() throws Exception { expectLogContaining("testWithParams", "key1=value1,key2=value2"); File reportFile = new File(System.getProperty("root"), "src/etc/testcases/taskdefs/optional/junitreport/test/html/index.html"); // tests one the file object assertTrue("No index.html present. Not generated?", reportFile.exists() ); assertTrue("Cant read the report file.", reportFile.canRead() ); assertTrue("File shouldnt be empty.", reportFile.length() > 0 ); // conversion to URL via FileUtils like in XMLResultAggregator, not as suggested in the bug report URL reportUrl = new URL( FileUtils.getFileUtils().toURI(reportFile.getAbsolutePath()) ); InputStream reportStream = reportUrl.openStream(); assertTrue("This shouldnt be an empty stream.", reportStream.available() > 0); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -