Soy nuevo en pepino-jvm. Mientras ejecuto la tarea de pepino, recibo este error.
:cucumberException in thread "main" java.lang.NoClassDefFoundError: org/testng/ITestContext
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetPublicMethods(Class.java:2902)
at java.lang.Class.getMethods(Class.java:1615)
at cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:40)
at cucumber.runtime.java.JavaBackend.loadGlue(JavaBackend.java:86)
at cucumber.runtime.Runtime.<init>(Runtime.java:91)
at cucumber.runtime.Runtime.<init>(Runtime.java:69)
at cucumber.runtime.Runtime.<init>(Runtime.java:65)
at cucumber.api.cli.Main.run(Main.java:35)
at cucumber.api.cli.Main.main(Main.java:18)
Caused by: java.lang.ClassNotFoundException: org.testng.ITestContext
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 11 more
No puedo encontrar por qué recibo este error. Cualquier tipo de ayuda será muy apreciada. Gracias de antemano.
archivo build.gradle:
apply plugin: 'java'
apply plugin: 'eclipse'
repositories {
mavenCentral()
}
configurations {
cucumberRuntime {
extendsFrom testRuntime
}
}
task cucumber() {
dependsOn assemble, compileTestJava
doLast {
javaexec {
main = "cucumber.api.cli.Main"
classpath = configurations.cucumberRuntime + sourceSets.main.output + sourceSets.test.output
args = ['--plugin', 'pretty', '--glue', 'com', 'src/test/resources']
}
}
}
dependencies {
compile 'junit:junit:4.11'
compile 'info.cukes:cucumber-java:1.2.4'
compile 'info.cukes:cucumber-junit:1.2.4'
compile 'org.seleniumhq.selenium:selenium-java:2.53.1'
}
La idea básica es no llamar al pepino cli manualmente. Esto será manejado por el marco de prueba de su elección (junit en su caso). Así que deshazte de la tarea especial para el pepino. Esto será manejado por la tarea de prueba Gradle predeterminada. Por favor, vea la configuración inicial aquí: https://github.com/tobi-sh/test-gradle-pepino.
Si realmente desea separar las pruebas bdd de su otra prueba unitaria, cree una configuración propia para la prueba bdd e inclúyalas en sus carpetas de prueba a pedido.
El aspecto es realmente extraño. Probaría dos cosas: 1. Trate de averiguar si hay una dependencia de prueba:
./gradlew dependencyInsight --dependency testng
2. Intente agregar una dependencia de prueba:compile 'info.cukes:cucumber-testng:1.2.4'
?– TobiSH
6 ago 2016 a las 19:44
Obtuve esto después de ejecutar su comando: ` $ ./gradlew dependencyInsight –dependency testng :dependencyInsight No se encontraron dependencias que coincidan con la entrada dada en la configuración ‘:compile’` Pero después de agregar la dependencia testng, funciona bien. Gracias por tu ayuda.
– Asís Datta
7 de agosto de 2016 a las 10:23
@TobiSH Aunque no estoy seguro, por qué necesita una dependencia de prueba.
– Asís Datta
7 de agosto de 2016 a las 10:25
Yo tampoco. ¿Tienes algún repositorio de github para echar un vistazo más de cerca?
– TobiSH
8 de agosto de 2016 a las 19:16
@TobiSH Verifique la base del código. Creé un repositorio y empujé el código. enlace github.
– Asís Datta
11 de agosto de 2016 a las 18:43