TestNG:我的项目可以';它不能在命令行中正确运行,但可以在IDE中正常工作

TestNG:我的项目可以';它不能在命令行中正确运行,但可以在IDE中正常工作,testng,Testng,在eclipse中,项目运行良好,并获得正确答案 从命令行运行时,项目启动良好,但运行时出错。例如代码: @Override public void onTestFailure(ITestResult result) { ITestContext Itc = result.getTestContext(); StringBuilder caseStr = new StringBuilder("<tr bgcolor=\"#FF0000\"><td>");

在eclipse中,项目运行良好,并获得正确答案

从命令行运行时,项目启动良好,但运行时出错。例如代码:

@Override
public void onTestFailure(ITestResult result)
{
    ITestContext Itc = result.getTestContext();
    StringBuilder caseStr = new StringBuilder("<tr bgcolor=\"#FF0000\"><td>");
    caseStr.append(getTestName(result));
    caseStr.append("</td><td>失败</td><td>");
    caseStr.append(s_errorInfor + "</td></tr>");
    appendToResFile(caseStr.toString());
}
这让我困惑了三天,请帮帮我

命令行bat文件:

set LIB=F:\AppJavaProject\autoTestV1\cmd
set NGLIB=F:\AppJava\testNG_libs\libs
set JAVA_CLIENT=F:\AppJava
set CLASSPATH=%NGLIB%\*;%JAVA_CLIENT%\java-client-5.0.0-BETA1.jar;autoTestV1.jar;

java org.testng.TestNG testMainXML.xml
结果:

F:\AppJavaProject\autoTest\autoTestV1\cmd>java org.testng.TestNG     testMainXML.xml
[TestNG] Running:
F:\AppJavaProject\autoTest\autoTestV1\cmd\testMainXML.xml

Exception in thread "main" java.lang.NoSuchMethodError: org.testng.ITestResult.getTestContext()Lorg/
testng/ITestContext;
at autoTestV1.ResultReport.onTestFailure(ResultReport.java:146)
at org.testng.internal.Invoker.runTestListeners(Invoker.java:1796)
at org.testng.internal.Invoker.runTestListeners(Invoker.java:1780)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1230)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.runWorkers(TestRunner.java:1147)
at org.testng.TestRunner.privateRun(TestRunner.java:749)
at org.testng.TestRunner.run(TestRunner.java:600)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:317)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:312)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:274)
at org.testng.SuiteRunner.run(SuiteRunner.java:223)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1039)
at org.testng.TestNG.runSuitesLocally(TestNG.java:964)
at org.testng.TestNG.run(TestNG.java:900)
at org.testng.TestNG.privateMain(TestNG.java:1182)
at org.testng.TestNG.main(TestNG.java:1146)

F:\AppJavaProject\autoTest\autoTestV1\cmd>

异常是什么?线程“main”java.lang.NoSuchMethodError中的异常:org.testng.ITestResult.getTestContext()Lorg/testng/ITestContext;在org.testng.internal.Invoker.runTestListeners(Invoker.java:1796)的org.testng.internal.Invoker.runTestListeners(Invoker.java:1780)的org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1230)的autoTestV1.ResultReport.onTestFailure(resulture.java:146)中,检查这两种情况下的testng版本。我觉得你在命令行中使用的那个太旧了。你能确认一下这个问题是否是用
java-cp“重现的吗?1.对朋友“juherr”:TestNG版本可以。2.对朋友“nullpointer”:我可以从命令行运行TestNG,它可以运行正常的测试,但是在我重写testListener之后,它就不能正常运行了。
F:\AppJavaProject\autoTest\autoTestV1\cmd>java org.testng.TestNG     testMainXML.xml
[TestNG] Running:
F:\AppJavaProject\autoTest\autoTestV1\cmd\testMainXML.xml

Exception in thread "main" java.lang.NoSuchMethodError: org.testng.ITestResult.getTestContext()Lorg/
testng/ITestContext;
at autoTestV1.ResultReport.onTestFailure(ResultReport.java:146)
at org.testng.internal.Invoker.runTestListeners(Invoker.java:1796)
at org.testng.internal.Invoker.runTestListeners(Invoker.java:1780)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1230)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.runWorkers(TestRunner.java:1147)
at org.testng.TestRunner.privateRun(TestRunner.java:749)
at org.testng.TestRunner.run(TestRunner.java:600)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:317)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:312)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:274)
at org.testng.SuiteRunner.run(SuiteRunner.java:223)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1039)
at org.testng.TestNG.runSuitesLocally(TestNG.java:964)
at org.testng.TestNG.run(TestNG.java:900)
at org.testng.TestNG.privateMain(TestNG.java:1182)
at org.testng.TestNG.main(TestNG.java:1146)

F:\AppJavaProject\autoTest\autoTestV1\cmd>