2017-04-03 15 views
2

スイートタグでparallel = "tests"を指定せずに、testngスイートxmlをmavenで実行しているときに、Mavenでtestngスイートxmlを実行すると、NullPointerExceptionが発生する

> [ERROR] Failed to execute goal 
> org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test 
> (default-test) on project neo: Execution default-test of goal 
> org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test failed: 
> There was an error in the forked process [ERROR] 
> java.lang.NullPointerException [ERROR] at 
> java.util.Hashtable.put(Hashtable.java:514) [ERROR] at 
> java.util.Properties.setProperty(Properties.java:161) [ERROR] at 
> org.testng.reporters.JUnitXMLReporter.createElement(JUnitXMLReporter.java:203) 
> [ERROR] at 
> org.testng.reporters.JUnitXMLReporter.generateReport(JUnitXMLReporter.java:181) 
> [ERROR] at 
> org.testng.reporters.JUnitXMLReporter.onFinish(JUnitXMLReporter.java:118) 
> [ERROR] at org.testng.TestRunner.fireEvent(TestRunner.java:1246) 
> [ERROR] at org.testng.TestRunner.afterRun(TestRunner.java:1039) 
> [ERROR] at org.testng.TestRunner.run(TestRunner.java:621) [ERROR] at 
> org.testng.SuiteRunner.runTest(SuiteRunner.java:334) [ERROR] at 
> org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) [ERROR] 
> at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) [ERROR] at 
> org.testng.SuiteRunner.run(SuiteRunner.java:240) [ERROR] at 
> org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
> [ERROR] at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
> [ERROR] at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198) 
> [ERROR] at org.testng.TestNG.runSuitesLocally(TestNG.java:1123) 
> [ERROR] at org.testng.TestNG.run(TestNG.java:1031) [ERROR] at 
> org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:281) 
> [ERROR] at 
> org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:75) 
> [ERROR] at 
> org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:121) 
> [ERROR] at 
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290) 
> [ERROR] at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242) 
> [ERROR] at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121) 

parallel = "tests"で実行しているときはうまくいきます。また、もし私が "testng test"としてparallel = "tests"を実行しないでeclipseからtestng suite xmlを実行しているなら、うまくいきます。助けてください。

マイスイートXMLベース

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 

<suite name="Filters API" parallel="tests"> 
    <test name="Filters Test"> 
     <classes> 
      <class name="com.api.testng.modules.filters.FiltersTests"/> 
     </classes> 
    </test> 
</suite> 
+0

plugins-言及している私のポンポンのこの部分は、あなたがあなたのFiltersTestsクラスで@Test注釈を持っていることを確認していますか? – Anirudh

+0

これは私のテストメソッドです。 @Test() public void testAllGroups(){ BaseRequestDTO dto = new BaseRequestDTO(); dto.setChannelType( "ALL"); 文字列レスポンス= filtersAPI.getAllGroups(dto); } –

+0

質問をPOMファイルの内容で更新できますか? – Mikhail

答えて

0

私は

 <profile> 
     <id>TestNg</id> 
     <activation> 
      <property> 
       <name>run_tests</name> 
       <value>TestNg</value> 
      </property> 
     </activation> 
     <dependencies> 
      <dependency> 
       <groupId>ru.yandex.qatools.allure</groupId> 
       <artifactId>allure-testng-adaptor</artifactId> 
       <version>${allure.version}</version> 
      </dependency> 
     </dependencies> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-compiler-plugin</artifactId> 
        <version>3.0</version> 
        <configuration> 
         <testIncludes> 
          <testInclude>**/testng/**</testInclude> 
         </testIncludes> 
        </configuration> 
       </plugin> 
       <plugin> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-surefire-plugin</artifactId> 
        <version>${surefire.version}</version> 
        <configuration> 
         <testFailureIgnore>false</testFailureIgnore> 
         <argLine> 
          -javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar 
         </argLine> 
         <properties> 
          <property> 
           <name>listener</name> 
           <value>ru.yandex.qatools.allure.testng.AllureTestListener</value> 
          </property> 
         </properties> 
         <suiteXmlFiles> 
          <suiteXmlFile> 
           ${suite.xml} 
          </suiteXmlFile> 
         </suiteXmlFiles> 
        </configuration> 
        <dependencies> 
         <dependency> 
          <groupId>org.aspectj</groupId> 
          <artifactId>aspectjweaver</artifactId> 
          <version>${aspectj.version}</version> 
         </dependency> 
        </dependencies> 
       </plugin> 
      </plugins> 
     </build> 
    </profile> 
関連する問題