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

JUnit and request recorders both record the same integration test; no way to pick one

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

還沒有人認領這個 Issue。

評估

難度
4/5
預估耗時
3-5 天
新手友好度
28/100
Issue 類型
功能
描述清晰度
基本清楚
活躍度
活躍
技術堆疊
java, spring-boot
領域
testing, tooling

研究方向

Start by reproducing with mvn -Dtest=PetClinicIntegrationTests#testOwnerDetails test in spring-petclinic, then compare the outputs under tmp/appmap/junit and tmp/appmap/request_recording. The issue leaves open whether the fix is a configuration switch or a documented rule, so a maintainer decision is needed first. Done means one recorder is chosen when both would fire, with the rule or setting documented.

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

描述

Summary

A single Spring Boot integration test that issues an HTTP request through a real port produces two recordings of the same behavior: one from the JUnit recorder, one from the request recorder. Both recorders are on by default, neither knows about the other, and there is no documented setting to disable one.

Agent 1.30.1, spring-petclinic @ b26f235.

Repro

mvn -Dtest=PetClinicIntegrationTests#testOwnerDetails test
ls tmp/appmap/junit tmp/appmap/request_recording

Observed

tmp/appmap/junit/org_..._PetClinicIntegrationTests_testOwnerDetails.appmap.json
tmp/appmap/request_recording/1789755390_129__owners_1.appmap.json

The JUnit recording contains the test method and everything under it; the request one contains the request, controller and SQL. They overlap almost entirely. The request recording's filename embeds a timestamp and a port-dependent counter, so it differs on every run and cannot serve as a stable baseline identity (the gold-traces engine's discover returns both and leaves the choice open).

Expected

A setting to select which recorder runs when both would fire (e.g. suppress request recordings that occur inside an active JUnit recording), or at least document the rule: curate the JUnit recording, use a request recording only when no test drives the endpoint.

Written by Devin

主要語言
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 摘要。