sskorol / test-data-supplier

TestNG DataProvider on steroids
Apache License 2.0
144 stars 24 forks source link

test execution fails in case @Test annotation is assigned on class level #42

Closed MikeShysh closed 6 years ago

MikeShysh commented 6 years ago

Hi,

test-data-supplier:1.2.0 gradle 4.2, kotlin 1.1.51, testng 6.11

build.gradle

tasks.withType(Test) {
    systemProperties = System.properties
    useTestNG {
        listeners << 'io.github.sskorol.core.DataProviderTransformer'
    }
    dependsOn prepareTestData
    testLogging.showStandardStreams = true
    outputs.upToDateWhen { false }
}

code:

@Test <<<<
class AddCustomer : BaseTest() {
    @DataSupplier
    fun addCustomersTestData(): List<CustomerInfo?> {
        return YamlConverter().fromYaml<CustomerInfo>("/testData/customer/requestData/addCustomers.yml")
                .map { it.addRandomPartToName() }
    }
    @Test(dataProvider = "addCustomersTestData")
    fun addCustomer(custInfoRequest: CustomerInfo) {
        val customerInfoResponse =
                RequestBuilder("Customer", "add_customer")
                        .sendPost(sessionID, custInfoRequest)
                        .extractBody<AddUpdateCustomerResponse>()
        Assertions.assertThat(customerInfoResponse.iCustomer).isPositive();
    }
}

STR: 1) Run gradle test

Exception
org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not complete execution for Gradle Test Executor 1.
    at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
    at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at com.sun.proxy.$Proxy1.stop(Unknown Source)
    at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:119)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:146)
    at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:128)
    at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
    at io.github.sskorol.core.DataProviderTransformer.transform(DataProviderTransformer.java:36)
    at org.testng.internal.annotations.JDK15AnnotationFinder.transform(JDK15AnnotationFinder.java:155)
    at org.testng.internal.annotations.JDK15AnnotationFinder.findAnnotation(JDK15AnnotationFinder.java:231)
    at org.testng.internal.annotations.JDK15AnnotationFinder.findAnnotation(JDK15AnnotationFinder.java:204)
    at org.testng.TestNG.createCommandLineSuitesForClasses(TestNG.java:575)
    at org.testng.TestNG.initializeCommandLineSuites(TestNG.java:878)
    at org.testng.TestNG.run(TestNG.java:1104)
    at org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.runTests(TestNGTestClassProcessor.java:129)
    at org.gradle.api.internal.tasks.testing.testng.TestNGTestClassProcessor.stop(TestNGTestClassProcessor.java:88)
    at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
    ... 25 more

Please check.Thank you.

sskorol commented 6 years ago

@MikeShysh just released 1.2.5 with a fix; check it please.