Plugin de Resumo de Execução

Cria um resumo das solicitações que passam pelo proxy.

Gorjeta

Use um plug-in de repórter em sua configuração para salvar o resumo em um arquivo.

Captura de tela de um prompt de comando com o resumo de execução do Proxy de Desenvolvimento com informações sobre solicitações intercetadas.

Captura de tela de um prompt de comando com o resumo das solicitações intercetadas pelo Dev Proxy.

Exemplo de configuração

{
  "$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"
  }
}

Propriedades de configuração

Propriedade Descrição Predefinido
groupBy Como o proxy deve agrupar as informações no resumo. Opções disponíveis: url, messageType url

Opções de linha de comando

Nome Descrição Predefinido
--summary-group-by Como o proxy deve agrupar as informações no resumo. Opções disponíveis: url, messageType url

Output

O ExecutionSummaryPlugin cria o seu relatório quando paras de gravar. Para guardar o relatório como JSON, adicione o JsonReporter após o ExecutionSummaryPlugin na sua configuração. O JsonReporter escreve o relatório num ficheiro nomeado ExecutionSummaryPlugin_JsonReporter.json no diretório de trabalho atual. Se o ficheiro já existir, o Dev Proxy adiciona um carimbo temporal ao nome do ficheiro, por exemplo ExecutionSummaryPlugin_JsonReporter_20261105104151.json.

O relatório JSON é um objeto aninhado em três níveis de profundidade. Os valores ao nível mais interno são números que mostram quantas vezes o Proxy de Desenvolvimento registou uma mensagem. O significado de cada nível depende do groupBy cenário.

O Dev Proxy utiliza os seguintes nomes de categorias legíveis no relatório:

Category Descrição
Requests intercepted Pedidos que o Dev Proxy interceptou. Só incluído quando groupBy é messageType
Requests passed through Pedidos que o Dev Proxy passou para o servidor original
Requests mocked Pedidos para os quais um plugin devolveu uma resposta simulada
Requests with chaos Pedidos para os quais um plugin simulava um erro ou latência
Failures Pedidos que falharam
Tips Dicas que os plugins registaram para o pedido
Warnings Avisos de que os plugins foram registados para o pedido
Unknown Outras mensagens registadas para o pedido, como carimbos temporais de pedidos e mensagens de plugins que ignoraram o pedido

Agrupar por URL

Quando groupBy é url, o relatório tem a seguinte forma:

{
  "<method> <url>": {
    "<category>": {
      "<message>": <count>
    }
  }
}
Level Descrição
1 O método HTTP e a URL de cada pedido interceptado, por exemplo GET https://jsonplaceholder.typicode.com/users. Cada combinação de método e URL aparece uma vez, independentemente de quantas vezes a sua aplicação a chamou
2 A categoria das mensagens que o Dev Proxy registou para o pedido
3 A mensagem que o Dev Proxy registou, mapeada para o número de vezes que o Dev Proxy a registou para o método e URL

O exemplo seguinte mostra um relatório de uma aplicação que ligou GET https://jsonplaceholder.typicode.com/users uma vez, que o Dev Proxy fez mocking, e GET https://jsonplaceholder.typicode.com/posts outra, que o Dev Proxy passou. As Unknown entradas são encurtadas para maior legibilidade.

{
  "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
    }
  }
}

Agrupar por tipo de mensagem

Quando groupBy é messageType, o relatório tem a seguinte forma:

{
  "<category>": {
    "<message>": {
      "<method> <url>": <count>
    }
  }
}
Level Descrição
1 A categoria das mensagens que o Dev Proxy registou
2 A mensagem que o Dev Proxy registou. Para as Requests intercepted categorias e Requests passed through , este nível repete o nome da categoria
3 O método HTTP e o URL do pedido, mapeados para o número de vezes que o Proxy de Desenvolvimento registou a mensagem desse método e URL

O exemplo seguinte mostra o relatório para os mesmos pedidos agrupado por tipo de mensagem. A Unknown categoria é encurtada para facilitar a legibilidade.

{
  "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
    }
  }
}

Gorjeta

Para verificar num pipeline de CI que solicita Dev Proxy intercetado, use o messageType agrupamento e leia as chaves do ["Requests intercepted"]["Requests intercepted"] objeto. Com o url agrupamento, lê as chaves de nível superior. Cada chave começa com o método HTTP seguido de um espaço e da URL. Não confie apenas no conteúdo da Unknown categoria, pois inclui carimbos temporais e outras mensagens de diagnóstico.

Ver também

Próximo passo