프록시를 통과하는 요청의 요약을 만듭니다.
팁
구성에서 보고자 플러그 인을 사용하여 요약을 파일에 저장합니다.
구성 예
{
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
"plugins": [
{
"name": "ExecutionSummaryPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "executionSummaryPlugin"
}
],
"executionSummaryPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/executionsummaryplugin.schema.json",
"groupBy": "url"
}
}
구성 속성
| 속성 | 설명 | 기본값 |
|---|---|---|
groupBy |
프록시가 요약의 정보를 그룹화해야 하는 방법입니다. 사용 가능한 옵션: url, messageType |
url |
명령줄 옵션
| 속성 | 설명 | 기본값 |
|---|---|---|
--summary-group-by |
프록시가 요약의 정보를 그룹화해야 하는 방법입니다. 사용 가능한 옵션: url, messageType |
url |
Output
기록을 중지하면 ExecutionSummaryPlugin에서 보고서를 만듭니다. 보고서를 JSON으로 저장하려면 구성에서 ExecutionSummaryPlugin 후에 JsonReporter 를 추가합니다. JsonReporter는 현재 작업 디렉터리에 있는 파일에 ExecutionSummaryPlugin_JsonReporter.json 보고서를 씁니다. 파일이 이미 있는 경우 개발자 프록시는 예를 들어 ExecutionSummaryPlugin_JsonReporter_20261105104151.json파일 이름에 타임스탬프를 추가합니다.
JSON 보고서는 세 수준 깊이 중첩된 개체입니다. 가장 안쪽 수준의 값은 개발자 프록시가 메시지를 기록한 횟수를 보여 주는 숫자입니다. 각 수준의 의미는 설정에 groupBy 따라 달라집니다.
개발자 프록시는 보고서에서 다음과 같은 읽을 수 있는 범주 이름을 사용합니다.
| 카테고리 | 설명 |
|---|---|
Requests intercepted |
개발자 프록시가 가로채는 요청입니다. 다음 경우에만 포함됩니다.groupBymessageType |
Requests passed through |
개발자 프록시가 원래 서버로 전달한 요청 |
Requests mocked |
플러그 인이 모의 응답을 반환한 요청 |
Requests with chaos |
플러그 인이 오류 또는 대기 시간을 시뮬레이트한 요청 |
Failures |
실패한 요청 |
Tips |
요청에 대해 기록된 플러그 인 팁 |
Warnings |
요청에 대해 기록된 플러그 인 경고 |
Unknown |
요청에 대해 기록된 기타 메시지(예: 요청 타임스탬프 및 요청을 건너뛴 플러그 인의 메시지) |
URL별로 그룹화
이 groupBy 때 url보고서에는 다음과 같은 모양이 있습니다.
{
"<method> <url>": {
"<category>": {
"<message>": <count>
}
}
}
| Level | 설명 |
|---|---|
| 1 | 예를 들어 GET https://jsonplaceholder.typicode.com/users가로채는 각 요청의 HTTP 메서드 및 URL입니다. 각 메서드와 URL 조합은 앱이 호출한 횟수에 관계없이 한 번 표시됩니다. |
| 2 | 개발자 프록시가 요청에 대해 기록한 메시지의 범주입니다. |
| 3 | 개발자 프록시가 로깅한 메시지로, Dev Proxy가 메서드 및 URL에 대해 기록한 횟수에 매핑됩니다. |
다음 예제에서는 개발자 프록시가 모의로 만든 앱과 개발자 프록시가 통과한 GET https://jsonplaceholder.typicode.com/posts 두 번 호출 GET https://jsonplaceholder.typicode.com/users 된 앱에 대한 보고서를 보여줍니다.
Unknown 가독성을 위해 항목이 단축됩니다.
{
"GET https://jsonplaceholder.typicode.com/users": {
"Unknown": {
"2026-11-05T10:41:13.1151430+00:00": 1,
"GET https://jsonplaceholder.typicode.com/users": 1
},
"Requests mocked": {
"200 https://jsonplaceholder.typicode.com/users": 1
}
},
"GET https://jsonplaceholder.typicode.com/posts": {
"Unknown": {
"No matching mock response found": 2,
"GET https://jsonplaceholder.typicode.com/posts": 2
},
"Requests passed through": {
"Passed through": 2
}
}
}
메시지 유형별 그룹화
이 groupBy 때 messageType보고서에는 다음과 같은 모양이 있습니다.
{
"<category>": {
"<message>": {
"<method> <url>": <count>
}
}
}
| Level | 설명 |
|---|---|
| 1 | 개발자 프록시가 기록한 메시지의 범주 |
| 2 | 개발자 프록시가 기록한 메시지입니다. 범주 및 Requests passed through 범주의 Requests intercepted 경우 이 수준은 범주 이름을 반복합니다. |
| 3 | Dev Proxy가 해당 메서드 및 URL에 대한 메시지를 기록한 횟수에 매핑된 요청의 HTTP 메서드 및 URL |
다음 예제에서는 메시지 유형별로 그룹화된 동일한 요청에 대한 보고서를 보여 줍니다. 범주가 Unknown 가독성을 위해 단축됩니다.
{
"Requests intercepted": {
"Requests intercepted": {
"GET https://jsonplaceholder.typicode.com/users": 1,
"GET https://jsonplaceholder.typicode.com/posts": 2
}
},
"Unknown": {
"No matching mock response found": {
"GET https://jsonplaceholder.typicode.com/posts": 2
}
},
"Requests mocked": {
"200 https://jsonplaceholder.typicode.com/users": {
"GET https://jsonplaceholder.typicode.com/users": 1
}
},
"Requests passed through": {
"Requests passed through": {
"GET https://jsonplaceholder.typicode.com/posts": 2
}
}
}
팁
절편 messageType 된 개발자 프록시를 요청하는 CI 파이프라인을 체크 인하려면 그룹화 및 개체의 ["Requests intercepted"]["Requests intercepted"] 키를 읽습니다. 그룹화에서 url 최상위 키를 읽습니다. 각 키는 HTTP 메서드와 공백 및 URL로 시작합니다. 타임스탬프 및 기타 진단 메시지를 포함하므로 범주의 Unknown 내용에 의존하지 마세요.
또한, 다음을 참조하세요.
다음 단계
Dev Proxy