it-source

Android Studio에서 Parameterized Unit 테스트를 실행할 때 오류가 발생한 테스트가 없습니다.

criticalcode 2023. 9. 8. 21:33
반응형

Android Studio에서 Parameterized Unit 테스트를 실행할 때 오류가 발생한 테스트가 없습니다.

아래와 같이 Android Studio에서 Parameterized Unit Tests를 실행하려고 했습니다.

import android.test.suitebuilder.annotation.SmallTest;  

import junit.framework.TestCase;    

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameter;
import org.junit.runners.Parameterized.Parameters;  

import java.util.Arrays;
import java.util.Collection;    

@RunWith(Parameterized.class)
@SmallTest
public class FibonacciTest extends TestCase {
    @Parameters
    public static Collection<Object[]> data() {
        return Arrays.asList(new Object[][] {
                {0, 0}, {1, 1}, {2, 1}, {3, 2}, {4, 3}, {5, 5}, {6, 8}
        });
    }   

    @Parameter // first data value (0) is default
    public /* NOT private */ int fInput;    

    @Parameter(value = 1)
    public /* NOT private */ int fExpected; 

    @Test
    public void test() {
        assertEquals(fExpected, Fibonacci.calculate(fInput));
    }
}

는 는 과 입니다 입니다 는 과 .No Test Runtests를 변경하면합니다. 그러나 Parameterized 테스트를 제거하고 개별 테스트로 변경하면 됩니다.

이게 왜 안 되는지 설명해 줄 사람?아직 안드로이드 개발에서 Parameterized unit test가 지원되지 않습니까?

스택 트레이스에 대한 오류는 다음과 같습니다.

FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:testDebug'.
> No tests found for given includes: [com.example.......FibonacciTest]
* Try:
Run with --info or --debug option to get more log output.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:testDebug'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:310)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)
    at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)
    at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
    at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)
    at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)
    at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:90)
    at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:54)
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:49)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
    at org.gradle.util.Swapper.swap(Swapper.java:38)
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:71)
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41)
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
    at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: org.gradle.api.GradleException: No tests found for given includes: [com.example........FibonacciTest]
    at org.gradle.api.internal.tasks.testing.NoMatchingTestsReporter.afterSuite(NoMatchingTestsReporter.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:87)
    at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
    at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at com.sun.proxy.$Proxy46.afterSuite(Unknown Source)
    at org.gradle.api.internal.tasks.testing.results.TestListenerAdapter.completed(TestListenerAdapter.java:48)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
    at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
    at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:87)
    at org.gradle.internal.event.BroadcastDispatch.dispatch(BroadcastDispatch.java:31)
    at org.gradle.messaging.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
    at com.sun.proxy.$Proxy45.completed(Unknown Source)
    at org.gradle.api.internal.tasks.testing.results.StateTrackingTestResultProcessor.completed(StateTrackingTestResultProcessor.java:69)
    at org.gradle.api.internal.tasks.testing.results.AttachParentTestResultProcessor.completed(AttachParentTestResultProcessor.java:52)
    at org.gradle.api.internal.tasks.testing.processors.TestMainAction.run(TestMainAction.java:51)
    at org.gradle.api.internal.tasks.testing.detection.DefaultTestExecuter.execute(DefaultTestExecuter.java:75)
    at org.gradle.api.tasks.testing.Test.executeTests(Test.java:527)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:226)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:219)
    at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:208)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:589)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:572)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
    ... 57 more
BUILD FAILED
Total time: 4.153 secs
No tests found for given includes: [com.example......FibonacciTest]

5+를 은 Junit 5+ 에는 하는 을 를 을 하는 에는 @Test올바른 라이브러리의 주석:

import org.junit.jupiter.api.Test

것은 아니다.

import org.junit.Test

빌드에 추가합니다.gradle:

test {
    useJUnitPlatform()
}

저는 Junit 4를 사용하고 있는데, 저에게 효과가 있었던 것은 'Gradle -> Run Tests Using'의 IntelliJ 설정을 'Gradle (기본값)'에서 'IntelliJ IDEA'로 변경한 것입니다.

enter image description here

내 수정의 출처: https://linked2ev.github.io/devsub/2019/09/30/Intellij-junit4-gradle-issue/

추가하기

test {
    useJUnitPlatform()
}

최상위 수준으로 "> 인수에 대한 메서드 테스트()를 찾을 수 없습니다."라는 오류가 발생했습니다.대신에 나는 그것을 추가해야만 했습니다.testOptionsandroid

android {
    ...

    testOptions {
        unitTests.all {
            useJUnitPlatform()
        }
    }
}

Przemek315에서 제공하는 이미 훌륭하고 쉬운 솔루션에 추가하려면 Kotlin DSL을 사용하는 경우에도 동일한 구성을 사용합니다.

tasks.test {
    useJUnitPlatform()
}

혹시 도움이 될까봐 인텔리제이에서 이런 일이 벌어졌는데, 그 경우는, 그래들의 테스트는 이전에 작동했지만, 다음 날 갑자기 어떤 테스트가 작동을 멈추면서 오류가 발생했습니다.

제가 한 일은:

  1. 기본 설정 -> 빌드, 실행, 배포 -> 그라들 -> "Run tests using"을 "IntelliJ IDEA"로 변경합니다.
  2. 테스트를 실행합니다.
  3. [환경설정] -> [구축, 실행, 배포] -> [그라들] -> "사용하여 테스트 실행"을 "그라들(기본값)"로 다시 이동합니다.
  4. 테스트를 계속 실행하십시오. 지금은 작동 중입니다.

이를 통해 프로젝트에서 로컬 구성을 변경하거나 Gradle 파일을 변경할 필요가 없었습니다.

enter image description here

제가 시험을 이렇게 정의하는 실수를 했습니다.

class MyTest {
    @Test
    fun `test name`() = runBlocking {


        // something here that isn't Unit
    }
}

runBlocking무언가를 되돌려주는 것은 그 방법이 무효가 아니라는 것을 의미했고, junit는 그것을 시험으로 인식하지 못했습니다.꽤 구질구질하네요.차단을 실행하기 위해 형식 매개 변수를 지금 명시적으로 제공합니다.고통을 멈추거나 두 시간을 되돌릴 수는 없겠지만 다시는 이런 일이 일어나지 않도록 해 줄 것입니다.

class MyTest {
    @Test
    fun `test name`() = runBlocking<Unit> { // Specify Unit


        // something here that isn't Unit
    }
}

Android Studio에서 테스트를 실행할 방법을 찾았습니다.그래들 구성을 사용하여 실행해도 테스트가 실행되지 않습니다.대신 Junit Configuration 사용합니다 을 사용합니다 대신 jun 을 uration it config .간단한 방법은 실행할 테스트 클래스 선택으로 이동하고 마우스 오른쪽 단추를 클릭하는 것입니다.그런 다음 Run(실행)을 선택합니다.그러면 실행 옵션이 2개 표시됩니다.영상에 따라 아래쪽(JUNIT)을 선택enter image description here

(참고: 선택할 2 Run Configuration(실행 구성)을 찾을 수 없으면 먼저 이전에 사용한 Configuration(그라들 구성)을 제거해야 합니다.이 작업은 상단 도구 모음에서 "실행/디버그 구성 선택" 아이콘을 클릭하여 수행할 수 있습니다.

build.gradle을 추가합니다.

test {
    useJUnitPlatform()
}

그리고 org.junit 클래스를 사용합니다.jupiter.api.org.junit 대신 @Test테스트합니다.테스트

intellij를 사용하는 경우 gradle을 사용하려면 build.gradle 파일의 dependency 섹션에 다음을 추가해야 합니다.

testImplementation("org.junit.jupiter:junit-jupiter-api:5.4.2")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.4.2")

: 가 하는 하는 가 :Expression 'test' cannot be invoked as a function솔루션을 때, 할때신해오을오d해n신된y을할,e

tasks.withType<Test> {
    useJUnitPlatform()
}

2021년 KMM 셋업으로 작동합니다.

Kotlin DSL: 빌드에 추가합니다.gradle.kts

tasks.withType<Test> {
        useJUnitPlatform()
}

Gradle DSL: 빌드에 추가합니다.gradle

test {
    useJUnitPlatform()
}

최근에 이 문제에 직면했고 딥다이빙을 한 후에 제가 사용하고 있는 것을 알게 되었습니다.@Test석의 junit도서관.근데 진짜.build.gradle파일은 다른 테스트 라이브러리를 선언했습니다.

그래서 제가 사용했을 때.@Test에 있는 테스트 라이브러리의 주석build.gradle효과가 있었습니다.

당신의 방법이 비공개인지 확인할 수 있습니다.이 바보같은 실수를 고치기 위해 많은 시간을 보냈습니다.

나는 에러 메세지의 원인이

다음을 포함하여 주어진 테스트를 찾을 수 없습니다.

로 로 A 하고 를 를 추가했습니다..java내 밑에 있는 테스트 파일src/test/kotlin테스트 디렉토리.하면,로,src/test/java한 대로 된 테스트, 한 된 입니다 입니다 된 한 .

믿기 어렵지만 제 경우의 문제는 테스트 케이스를 위해 만든 패키지의 잘못된 이름이었습니다.대문자를 포함하면 안 됩니다.예를 들어 "PackageName" "PackageName" "PackageName" "PackageName"과 같은 경우는 올바르지 않습니다.

저의 경우 코틀린으로 글을 쓰고 IDEA 2020.3을 사용할 때 문제가 발생했습니다.build.gradle.kts의 적절한 항목에도 불구하고.IDEA IDEA IDE(Alt + Insert)로 테스트 함수를 생성할 때 문제가 있음이 밝혀졌습니다.다음 코드를 생성합니다.

@Test
   internal fun name () {
     TODO ("Not yet implemented")
   }

그리고 "내부" 수식어를 제거한 후 문제가 해결됩니다.

@Test
   fun name () {
     TODO ("Not yet implemented")
   }

Junit 4를 사용할 때 Intellij에서 비슷한 오류가 발생했습니다.

수정 사항은 build.gradle.kts에서 제거하는 이었습니다.

    test {  useJUnitPlatform()  }

결과 build.gradle.kts

plugins {
    kotlin("jvm") version "1.8.0"
    application
    id("org.jetbrains.kotlin.plugin.serialization") version "1.5.31"
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    implementation("com.google.code.gson:gson:2.8.8")
    implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.0")
    implementation ("org.apache.poi:poi-ooxml:5.1.0")
    testImplementation(kotlin("test"))
    testImplementation("junit:junit:4.13.1")
}



kotlin {
    jvmToolchain(11)
}

application {
    mainClass.set("MainKt")
}

그리고 테스트는 잘 됩니다.

import org.junit.Assert


class MainKtTest1 {
    @org.junit.Test
    fun firstTest() {
        Assert.assertEquals("2*2=4", 2 * 2, 4)
    }

}

명령 또는 UI에 의한 Intellij IDEA를 사용하여 모든 하위 모듈에 대한 Run 테스트를 허용합니다.

subprojects {
    withType<Test> {
        useJUnitPlatform()
    }
}

5의 경우 JUNIT 5 의 을 해야 를 사용해야 합니다.org.junit.jupiter.api.Test또한 사용해야 합니다.@ExtendWith대신에@RunWith.

그래들 빌드 종속성 목록에 문자열 하나를 추가했습니다.

dependencies {
    implementation("org.junit.jupiter:junit-jupiter-params:5.8.0")
    testImplementation(kotlin("test"))
}

그라들을 재건하고 모든 것이 작동합니다.

테스트 파일을 추가해야 합니다.

import org.junit.jupiter.params.ParameterizedTest

저의 경우 그래들 테스트 작업 실행의 출력에서 전혀 보이지 않는 Junit의 런타임 오류로 인해 이 메시지를 받고 있었습니다.몇 가지 이유 때문에 이런 일을 당했습니다.

  1. 포함해서org.junit.platform:junit-platform-launcher내가 사용하던 주닛 버전과 일치하지 않는 버전과의 의존성
  2. 출품작이 있습니다.META-INF/services내가 평한 쥬닛 시험 청취자를 위해서.

를 사용하여 재실행을 시도할 수 있습니다.--debug검색합니다.FAILED아니면org.gradle.api.internal.tasks.testing.TestSuiteExecutionException. 두 번째 경우는 예외였습니다.

2020-10-20T11:34:26.517-0700 [DEBUG] [TestEventLogger]
2020-10-20T11:34:26.517-0700 [DEBUG] [TestEventLogger] Gradle Test Executor 1 STARTED
2020-10-20T11:34:26.661-0700 [DEBUG] [TestEventLogger]
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger] Gradle Test Executor 1 FAILED
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]     org.gradle.api.internal.tasks.testing.TestSuiteExecutionException: Could not complete execution for Gradle Test Executor 1.
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]         at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:63)
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]         at java.lang.reflect.Method.invoke(Method.java:498)
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]         at com.sun.proxy.$Proxy2.stop(Unknown Source)
2020-10-20T11:34:26.662-0700 [DEBUG] [TestEventLogger]         at org.gradle.api.internal.tasks.testing.worker.TestWorker.stop(TestWorker.java:132)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at java.lang.reflect.Method.invoke(Method.java:498)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:182)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:164)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:413)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]         at java.lang.Thread.run(Thread.java:748)
2020-10-20T11:34:26.663-0700 [DEBUG] [TestEventLogger]
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]         Caused by:
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]         java.util.ServiceConfigurationError: org.junit.platform.launcher.TestExecutionListener: Provider com.example.myproject.MyCommentedOutClass not found
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at java.util.ServiceLoader.fail(ServiceLoader.java:239)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at java.util.ServiceLoader.access$300(ServiceLoader.java:185)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:372)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at java.lang.Iterable.forEach(Iterable.java:74)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:94)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at org.junit.platform.launcher.core.LauncherFactory.create(LauncherFactory.java:67)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.processAllTestClasses(JUnitPlatformTestClassProcessor.java:97)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor$CollectAllTestClassesExecutor.access$000(JUnitPlatformTestClassProcessor.java:79)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at org.gradle.api.internal.tasks.testing.junitplatform.JUnitPlatformTestClassProcessor.stop(JUnitPlatformTestClassProcessor.java:75)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.stop(SuiteTestClassProcessor.java:61)
2020-10-20T11:34:26.664-0700 [DEBUG] [TestEventLogger]             ... 25 more

주의할 점은 다음과 같습니다.DEBUGlogs. 난 단지 그 어떤 것도 도움이 되지 않는다고 생각했어요.--info

단계:

  1. build.gralde에 platform runner 추가
    => testCompile 그룹: 'junit.platform', 이름: 'junit-platform-runner', 버전: '1.7.0'
  2. @RunWith => @RunWith(JunitPlatform.class)를 사용하는 테스트 클래스의 노트입니다.

제가 추가했을 때는 효과가 있었습니다.@EnableJUnit4MigrationSupport 주석석

(물론 이미 언급된 그라들 리브 및 설정과 함께)

저의 설정은 안드로이드 스튜디오, 주니트 4, 로보 일렉트릭 테스트입니다.

문제는 내가 이것을 추가했다는 것입니다.noverify build하여 applevel build.gradle을 합니다. gradle로 설정합니다.Java.lang.VerifyError: Bad return typeAndroid Studio에서 코드 적용 범위를 포함한 테스트를 실행합니다.(https://github.com/robolectric/robolectric/issues/3023)

enter image description here

제거하면 문제가 해결됩니다.

저 역시 같은 문제에 직면해 있었습니다.저 같은 경우에는 JUNIT 5를 gradle 6.6으로 사용하고 있습니다.저는 통합 테스트 케이스를 별도의 폴더콜 integ에서 관리하고 있습니다.build.gradle 파일에 새로운 작업을 정의하고 첫 줄을 추가한 후에 ->useJUnitPlatform()요,의

사용합니다.@Test석의 org.junit.Test소포를 보냈지만, 저도 같은 문제가 있었습니다.를 한 후testImplementation("org.assertj:assertj-core:3.10.0")위에build.gradle, 효과가 있었습니다.

junit5를 쓰면 됩니다. 매번 gradle --clean, 알겠습니다.Class not founderror. 그런 다음 build.gradle에 추가하여 문제를 해결하고 junit4를 사용할 수 있습니다.

test {
}

저는 개인적인 방법을 사용하고 있었습니다.접속 수식어를 공개로 바꾼 것이 도움이 되었습니다.

제 경우에는 인텔리즈에서 시험 수업을 진행하다가 본 적이 있습니다.No tests were found. 나는 나의 시험 방법을 다음과 같이 표시했습니다.static - 네.

언급URL : https://stackoverflow.com/questions/30474767/no-tests-found-for-given-includes-error-when-running-parameterized-unit-test-in

반응형