Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Getting initializationError while running Tests with AppMap with Gradle

未關閉
#159 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
3/5
預估耗時
1-2 天
新手友好度
35/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
停滯
技術堆疊
java

研究方向

從 PriceEntityGrpcServiceTest 開始,並使用 gradlew.bat appmap test 重現失敗。檢查測試類別的 JUnit 和 Mockito 註解以及其 @Test 方法,然後確認測試套件執行時不會出現 initializationError 或「No runnable methods」失敗。

由索引模型根據 Issue 內容生成。

描述

appmap.yml

# 'name' should generally be the same as the code repo name.
name: PricingService
packages:
- path: com.nuorder.service.pricing
  # exclude: [ com.mycorp.myproject.MyClass#MyMethod ]
- path: org.springframework.web
  shallow: true
  exclude: 
   - org.springframework.web.util
- path: java.util.logging
  methods:
  - class: Logger
    name: log

Command

gradlew.bat appmap test
Error Log
org.mockito.exceptions.base.MockitoException: 

No tests found in PriceEntityGrpcServiceTest
Is the method annotated with @Test?
Is the method public?

	at app//org.mockito.internal.runners.RunnerFactory.create(RunnerFactory.java:82)
	at app//org.mockito.internal.runners.RunnerFactory.createStrict(RunnerFactory.java:40)
	at app//org.mockito.junit.MockitoJUnitRunner.<init>(MockitoJUnitRunner.java:154)
	at [email protected]/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at [email protected]/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at [email protected]/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at [email protected]/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at app//org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
	at app//org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
	at app//org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
	at app//org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
	at app//org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
	at app//org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
	at app//org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:78)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
	at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
	at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:62)
	at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
	at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at [email protected]/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at [email protected]/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at [email protected]/java.lang.reflect.Method.invoke(Method.java:566)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
	at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
	at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:33)
	at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
	at com.sun.proxy.$Proxy5.processTestClass(Unknown Source)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker$2.run(TestWorker.java:176)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.executeAndMaintainThreadName(TestWorker.java:129)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:100)
	at org.gradle.api.internal.tasks.testing.worker.TestWorker.execute(TestWorker.java:60)
	at org.gradle.process.internal.worker.child.ActionExecutionWorker.execute(ActionExecutionWorker.java:56)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:133)
	at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:71)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69)
	at app//worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at org.mockito.internal.runners.util.RunnerProvider.newInstance(RunnerProvider.java:29)
	at org.mockito.internal.runners.RunnerFactory.create(RunnerFactory.java:75)
	... 36 more
Caused by: org.junit.runners.model.InvalidTestClassError: Invalid test class 'com.nuorder.service.pricing.grpc.PriceEntityGrpcServiceTest':
  1. No runnable methods
	at org.junit.runners.ParentRunner.validate(ParentRunner.java:525)
	at org.junit.runners.ParentRunner.<init>(ParentRunner.java:92)
	at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:74)
	at org.mockito.internal.runners.DefaultInternalRunner$1.<init>(DefaultInternalRunner.java:31)
	at org.mockito.internal.runners.DefaultInternalRunner.<init>(DefaultInternalRunner.java:30)
	... 42 more

Test class file (truncated)

@ExtendWith(MockitoExtension.class)
@RunWith(MockitoJUnitRunner.class)
public class PriceEntityGrpcServiceTest {

....
....

@Test
  public void testCreate() {
    PriceEntity priceEntity = testEntity();
    CreatePricingEntityRequest request =
        CreatePricingEntityRequest.newBuilder()
            .setEntity(priceEntity)
            .setMerchantId("merchant1")
            .build();
    StreamObserver streamObserver = Mockito.mock(StreamObserver.class);
    service.createPricingEntity(request, streamObserver);
    ArgumentCaptor<PriceEntity> captor = ArgumentCaptor.forClass(PriceEntity.class);
    verify(bigtableRepository).create(captor.capture());
    PriceEntity auditPriceEntity = captor.getValue();
    TestUtils.verifyAuditedPriceEntity(priceEntity, auditPriceEntity, getUser());
    verify(pricingSearchRepository).save(any(TaggedPriceEntity.class));
    ArgumentCaptor<CreatePricingEntityResponse> responseCaptor =
        ArgumentCaptor.forClass(CreatePricingEntityResponse.class);
    verify(streamObserver).onNext(responseCaptor.capture());
    TestUtils.verifyAuditedPriceEntity(
        priceEntity, responseCaptor.getValue().getEntity(), getUser());
    verify(streamObserver).onCompleted();
    verifyNoMoreInteractions(streamObserver);
  }
主要語言
Java
星號
88
分支
17
平均合併
2 天 2 小時
30 天內合併 PR
1

環境準備

  • 沒有 Dockerfile 或 Docker Compose 檔案
  • 沒有 Pull Request 範本
  • 閱讀貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

getappmap/appmap-java 的其他 Issue

查看 getappmap/appmap-java 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。