我试过跑步testng.xml,结果如下:
===============================================
默认测试
测试运行:14,失败:6,跳过:0
默认套件
总测试运行:14,失败:6,跳过:0
===============================================
现在,我禁用了deafult TestNG监听器并添加了ReportNG listner testng.xml.的testng.xml.看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter" />
<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
<test name="Test">
<classes>
<class name=".URL_Daily" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
Run Code Online (Sandbox Code Playgroud)
下面的步骤,我加入velocity,guice并reportng在Maven的依赖关系pom.xml.
执行测试套件后testng.xml,创建了以下文件夹(标记为红色框).
正如预期的那样,ReportNG应该创建一个输出文件夹,在我的场景中没有注意到.其次,结果不同.
此外,该报告index.html并未显示实际应该如何.有人可以说出错了吗?
一些细节供您参考:
操作系统:Windows 7
Guice.jar版本: guice-4.1.0
ReportNG版本: reportng-1.1.4
速度版: velocity-dep-1.4
TestNG版本: testng-6.11
Selenium版本: selenium-java-3.5.3 …
这对我来说听起来像是一个普遍的问题,所以我想知道是否有一个通用的推荐方法来处理这些情况,无论使用什么构建/依赖管理工具(在我的例子中是 Gradle)。我可以想象,无论使用什么构建工具,都会出现这个问题,即使是在手动处理少数依赖项并且仅使用 Java 使用命令构建的小项目中也是如此jar。
我的 Java 项目使用 Velocity 1.7,因此它的类路径中有 Velocity 1. 7 JAR。
然而,该项目还使用 ReportNG,它依赖于 Velocity 1. 4Class-Path: velocity-dep-1.4.jar (它甚至在其清单中具有该条目,加上其下载的 zip 包含内容velocity-dep-1.4.jar,并且其主页明确提到该条目velocity-dep-1.4.jar必须位于类路径中)。
我想知道如何避免在我的类路径上出现两个 Velocity 版本的 JAR,这可能是导致我看到的奇怪行为的原因,而且无论如何这听起来都不是一个好主意。
我将尝试让 ReportNG 使用 Velocity 1.7 而不是 1.4,但它不一定有效,如果有一种干净的方法来处理这些情况,我想避免这样做。
我有一个应用程序,我需要从我的main方法执行我的TestNG @Test注释方法,并使用ReportNG生成报告.
我的主要方法如下:
public static void main(String args[])
{
TestNG myTestNG = new TestNG();
XmlSuite mySuite = new XmlSuite();
mySuite.setName("Sample Suite");
mySuite.addListener("org.uncommons.reportng.HTMLReporter");
mySuite.addListener("org.uncommons.reportng.JUnitXMLReporter");
XmlTest myTest = new XmlTest(mySuite);
myTest.setName("Sample Test");
List<XmlClass> myClasses = new ArrayList<XmlClass>();
myClasses.add(new XmlClass("com.varunmulloli.testng.SampleTest"));
myTest.setXmlClasses(myClasses);
List<XmlTest> myTests = new ArrayList<XmlTest>();
myTests.add(myTest);
mySuite.setTests(myTests);
List<XmlSuite> mySuites = new ArrayList<XmlSuite>();
mySuites.add(mySuite);
myTestNG.setXmlSuites(mySuites);
myTestNG.run();
}
Run Code Online (Sandbox Code Playgroud)
我的SampleTest班级看起来像这样:
public class SampleTest
{
@Test
public void testSample()
{
String str = "TestNG is working fine";
assertEquals("TestNG is working fine", str);
}
} …Run Code Online (Sandbox Code Playgroud) 我在eclipse中执行testng,我想在reportNG中生成报告.为此,我已经包含了guice-3.0,reportng-1.1.3,velocity-dep-1.4 jar文件以及在xml文件中添加了监听器.另外,我在eclipse中禁用了默认的TestNG监听器.毕竟我没有收到ReportNG的报告.还有什么我需要做的?
这是xml代码....
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Registration" verbose="1" preserve-order="true">
<parameter name="Suitename" value="Registration" />
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter" />
<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
<test name="Search">
<classes>
<class name="com.tcs.medmantra.reg.Search"/>
</classes>
</test>
</suite>
Run Code Online (Sandbox Code Playgroud)
提前致谢.....
有没有办法将我的JAR文件放在远程存储库中,所以我的maven项目可以通过Internet从任何地方获取这个JAR文件?
我已下载并在ReportNG项目中做了一些修复:https://github.com/dwdyer/reportng.使用ANT我已经将这个项目编译成JAR,现在我想把它放到远程Maven存储库中,但不知道我怎么能这样做.
有人可以建议我的方式,我怎么能这样做?