web-dev-qa-db-ja.com

org.testng.TestNGException:テストの実行を試みている間

Android Studioを使用して長い間プロジェクトに取り組んできました。今日、一部のコードをリファクタリングして壊れ始めたため、変更を元に戻しました。コードをデバッグしようとするたびに変更を元に戻した後でも、私は例外に従うことになります:

org.testng.TestNGException: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 44; Attribute "parallel" with value "none" must have a value from the list "false methods tests classes instances ".
    at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.Java:325)
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.Java:90)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.Java:206)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.Java:177)
    at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.Java:125)
Caused by: org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 44; Attribute "parallel" with value "none" must have a value from the list "false methods tests classes instances ".
    at com.Sun.org.Apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.Java:203)
    at com.Sun.org.Apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.Java:134)
    at com.Sun.org.Apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.Java:396)
    at com.Sun.org.Apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.Java:327)
    at com.Sun.org.Apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.Java:284)
    at com.Sun.org.Apache.xerces.internal.impl.dtd.XMLDTDValidator.validateDTDattribute(XMLDTDValidator.Java:1392)
    at com.Sun.org.Apache.xerces.internal.impl.dtd.XMLDTDValidator.addDTDDefaultAttrsAndValidate(XMLDTDValidator.Java:1311)
    at com.Sun.org.Apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.Java:1917)
    at com.Sun.org.Apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.Java:742)
    at com.Sun.org.Apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.Java:380)
    at com.Sun.org.Apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.Java:614)
    at com.Sun.org.Apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.Java:3135)
    at com.Sun.org.Apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.Java:880)
    at com.Sun.org.Apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.Java:606)
    at com.Sun.org.Apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.Java:118)
    at com.Sun.org.Apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.Java:510)
    at com.Sun.org.Apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.Java:848)
    at com.Sun.org.Apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.Java:777)
    at com.Sun.org.Apache.xerces.internal.parsers.XMLParser.parse(XMLParser.Java:141)
    at com.Sun.org.Apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.Java:1213)
    at com.Sun.org.Apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.Java:643)
    at com.Sun.org.Apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.Java:327)
    at javax.xml.parsers.SAXParser.parse(SAXParser.Java:195)
    at org.testng.xml.XMLParser.parse(XMLParser.Java:39)
    at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.Java:16)
    at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.Java:9)
    at org.testng.xml.Parser.parse(Parser.Java:172)
    at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.Java:305)
    ... 4 more

intelliJを使用してプロジェクトを開こうとしています。これをなくすことができます。これに関する手がかりはありますか?

7
Naman

@juherrからの議論と助けは、これに対する解決策は次のとおりであることを示唆しています。

Attribute "parallel" with value "none" must have a value from the list "false methods tests classes instances ".

TestNG 6.9.10は、xmlファイルを [〜#〜] dtd [〜#〜] に対して検証しています。問題は、IntelliJのデフォルトのtestng.xmlテンプレートがスイートで「並列」を設定していることです。 "無し"。これは、同じものの bug へのリンクです。

3
Naman

testng.xmlをに更新します

<suite name="Suite" parallel="false">

から

<suite name="Suite" parallel="none">
2
Nabeel A.Rahman

クラス/プロジェクトでリスナーを使用/実装している場合は、次のようにそのクラスにアノテーション@Listenersを追加します。

@Listeners(value=SuiteListener.class)

例えば.

@Listeners(value=ClassName who implemets listener.class)

例えば.

@Listeners(value=SuiteListener.class)
public class SuiteListener implements ISuiteListener
{
    lines of code / methods in class
}

以下に追加するのは、のコードスニペットです。 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="report.SuiteListener"></listener>
</listeners>

  <test thread-count="5" name="Test">
    <classes>
      <class name="tests.Test1"/>
      <class name="tests.Test2"/>
    </classes>
  </test> <!-- Test -->

</suite> <!-- Suite -->
0
Avinash Pande

編集可能なtestng.xmlファイルがない場合は、testngの依存関係を6.9.9にダウングレードできます。

0
Matthias M