web-dev-qa-db-fra.com

java.lang.NoClassDefFoundError: io / restassured / mapper / factory / GsonObjectMapperFactory

Je reçois une erreur lorsque j'essaie d'exécuter un script avec un cadre assuré. Veuillez me guider pour résoudre le même problème. Et j'ai utilisé des pots en dessous

Version Java - 8 reste-assuré-2.8.0 json-path-2.8.0 hamcrest-all-1.3 commons-lang3-3.0 json-schema-validator-2.2.0

FAILED: foo Java.lang.NoClassDefFoundError: io/restassured/mapper/factory/GsonObjectMapperFactory at io.restassured.config.RestAssuredConfig. (RestAssuredConfig.Java:41) at io.restassured.RestAssured.RestAssured. .GetRequest.foo (GetRequest.Java:12) sur Sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) sur Sun.reflect.NativeMethodAccessorImpl.invoke (Source inconnue) sur Sun.reflect.DelegatingMethodAccessorImpl.invoke (Source inconnue) lang.reflect.Method.invoke (Source inconnue) sur org.testng.internal.MethodInvocationHelper.invokeMethod (MethodInvocationHelper.Java:108) sur org.testng.internal.Invoker.invokeMethod (Invoker.Java:661) sur org.testng. internal.Invoker.invokeTestMethod (Invoker.Java:869) sur org.testng.internal.Invoker.invokeTestMethods (Invoker.Java:1193) sur org.testng.internal.TestMethodWorker.invokeTestMethods (TestMethodWorker.Java.tps) .internal.TestMethodWorker.run (TestMethodWorker.Java:109) sur org.testng.TestRunner.privateRun (TestRun ner.Java:744) à org.testng.TestRunner.run (TestRunner.Java:602) à org.testng.SuiteRunner.runTest (SuiteRunner.Java:380) à org.testng.SuiteRunner.runSequently (SuiteRunner.Java:375 ) sur org.testng.SuiteRunner.privateRun (SuiteRunner.Java:340) sur org.testng.SuiteRunner.run (SuiteRunner.Java:289) sur org.testng.SuiteRunnerWorker.runSuite (SuiteRunnerWorker.Java:52) sur org.testng .SuiteRunnerWorker.run (SuiteRunnerWorker.Java:86) à org.testng.TestNG.runSuitesSequially (TestNG.Java:1301) à org.testng.TestNG.runSuitesLocally (TestNG.Java:1226) à org.testng.TestNG.runS TestNG.Java:1144) à org.testng.TestNG.run (TestNG.Java:1115) à org.testng.remote.AbstractRemoteTestNG.run (AbstractRemoteTestNG.Java:132) à org.testng.remote.RemoteTestNG.initAndRun (RemoteTest .Java: 230) sur org.testng.remote.RemoteTestNG.main (RemoteTestNG.Java:76) Provoqué par: Java.lang.ClassNotFoundException: io.restassured.mapper.factory.GsonObjectMapperFactory at Java.net.URLClassLoader.findClass (Unknown Source) chez Java .lang.ClassLoader.loadClass (Source inconnue) à Sun.misc.Launcher $ AppClassLoader.loadClass (Source inconnue) à Java.lang.ClassLoader.loadClass (Source inconnue) ... 28 plus

===============================================
    Default test
    Tests run: 1, Failures: 1, Skips: 0
===============================================


===============================================
Default suite
Total tests run: 1, Failures: 1, Skips: 0
===============================================
14
user3415045

Pour tous ceux qui rencontrent cela, j'ai trouvé cette page git utile également: https://github.com/rest-assured/rest-assured/issues/1168

Et un exemple de mon maven POM qui a fini par fonctionner est le suivant:

            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>rest-assured</artifactId>
                <version>${io-rest-assured.version}</version>
                <scope>test</scope>
            </dependency>
            <!--Added required depeendencies due to : https://github.com/rest-assured/rest-assured/issues/1168 -->
            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>rest-assured-common</artifactId>
                <version>${io-rest-assured.version}</version>
            </dependency>
            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>json-path</artifactId>
                <version>${io-rest-assured.version}</version>
            </dependency>
            <dependency>
                <groupId>io.rest-assured</groupId>
                <artifactId>xml-path</artifactId>
                <version>${io-rest-assured.version}</version>
            </dependency>
1
Abe

En examinant l'erreur, vous devez mettre GSON dans votre chemin de classe ou section de dépendance POM de manière explicite, car il s'agit d'une dépendance facultative pour Rest Assured.

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.1</version>
</dependency>
0
TJ O'Hare