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
を使用してプロジェクトを開こうとしています。これをなくすことができます。これに関する手がかりはありますか?
@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 へのリンクです。
testng.xmlをに更新します
<suite name="Suite" parallel="false">
から
<suite name="Suite" parallel="none">
クラス/プロジェクトでリスナーを使用/実装している場合は、次のようにそのクラスにアノテーション@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 -->
編集可能なtestng.xmlファイルがない場合は、testngの依存関係を6.9.9にダウングレードできます。