Impossível shim WebException com Microsoft.QualityTools.Testing.Fakes.Shims.ShimNotSupportedException

Ed Williams

Estou tentando testar algum código fora do meu controle que verifica a existência de um WebExceptione reage de forma adequada. Estou tentando gerar um shim para WebException, mas continuo recebendo um

Microsoft.QualityTools.Testing.Fakes.Shims.ShimNotSupportedException.

Aqui está a fonte do teste:

[TestMethod]
public async Task Search_WebException404Ignored()
{
    using (ShimsContext.Create())
    {
        mockApiSettings
            .Setup(p => p.ListApiUrl)
            .Returns("http://fakeUrl/?value={0}{1}");

        var exception = new ShimWebException
        {
            ResponseGet = () => new ShimHttpWebResponse {StatusCodeGet = () => HttpStatusCode.NotFound},
        };

        mockServiceProxy
            .Setup(m => m.CallServiceAsync(It.IsAny<Uri>(), RequestMethodType.GET, null))
            .ThrowsAsync(exception);

        var items = await service.Search("ListName_0", new[] {"ListValue_0", "ListValue_0"});
    }
}

Eu atualizei o arquivo System.fakes da seguinte forma:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic="true">
  <Assembly Name="System" Version="4.0.0.0"/>
  <StubGeneration>
    <Clear/>
  </StubGeneration>
  <ShimGeneration>
    <Clear/>
    <Add FullName="System.Net.WebRequest!"/>
    <Add FullName="System.Net.HttpWebRequest!"/>
    <Add FullName="System.Net.HttpWebResponse!"/>
    <Add FullName="System.Net.WebException!"/>
  </ShimGeneration>
</Fakes>

Não parece ajudar. Será porque também estou usando o MOQ?

O projeto de teste não usa um .testSettingsarquivo conforme mencionado em outras postagens. Usando 64 bits para testes de origem e de unidade.

Estou usando o Visual Studio 2015 Enterprise e o Microsoft.QualityTools.Testing.Fakes 12.0.0.0. Nenhum aviso é mostrado na saída para a geração de calços para esses itens.

Cahya Ong

Eu tive um erro semelhante quando meu projeto de teste de unidade está referenciando Microsoft.QualityTools.Testing.Fakes 12.0 e executando alguns testes com Shimsno VS2015.

Consegui consertar o problema atualizando aquele arquivo DLL para o da pasta VS2015 Public Assemblies, no meu caso é %PROGRAMFILES(x86)%\Microsoft Visual Studio 14.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.Testing.Fakes.dll.

Não precisei regenerar minha referência System.4.0.0.0.Fakes depois de atualizar o arquivo DLL e tenho exatamente o mesmo arquivo System.fakes que você incluindo !no FullName.

Observação: também é uma boa ideia verificar a versão do seu Microsoft.VisualStudio.QualityTools.UnitTestFrameworke atualizá-la para a versão 14.0 também.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Precisa de uma solução alternativa para Microsoft.QualityTools.Testing.Fakes

Erro ao executar casos de teste de unidade por meio do Jenkins: não foi possível carregar o arquivo ou assembly 'Microsoft.QualityTools.Testing.Fakes, Version = 11.0.0.0'

Como os shims da Microsoft fakes realmente funcionam internamente?

How to use Microsoft Fakes to Shim Async Task method?

Simulando banco de dados com Microsoft Fakes

Definindo parâmetros com Microsoft Fakes

Não foi possível carregar o arquivo ou assembly 'Microsoft.VisualStudio.QualityTools.UTFResources

Não foi possível carregar o arquivo ou assembly 'Microsoft.VisualStudio.QualityTools.UTFResources

Problema com pcr em qualityTools

openlayers: cluster com MVT VectorTileSource impossível?

Impossível acessar http://mvnrepository.com/

Impossível invocar endpoint com sagemaker

impossível reamostrar data com python

impossível usar ggvis com brilhante

Impossível usar classes com rapidez

Impossível assinar apk android com Expo

Impossível vincular à biblioteca Boost com MSVC: Impossível abrir arquivo * .lib

Conflito de nome do Microsoft Fakes Assembly

Impossível desembrulhar a instância COM do domínio personalizado

Impossível atualizar o modelo v com entradas

Impossível encontrar implementação com restrição na assinatura

Impossível acessar a biblioteca Nuget com símbolos carregados

Win32: impossível usar iocp com identificador stdin

Tempo de CPU impossível para processo / thread com rusage

Literal de string com tipo dependente - impossível?

Por que o Factorial 1000 é impossível com BigInteger?

O que tornará a compatibilidade com versões anteriores impossível?

Impossível ler a mensagem da fila com Masstransit

Impossível instalar bcrypt com npm no EC2

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  3. 3

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  4. 4

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  5. 5

    Gerenciar recurso shake de Windows Aero com barra de título personalizado

  6. 6

    Como obter dados API adequados para o aplicativo angular?

  7. 7

    UITextView não está exibindo texto longo

  8. 8

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  9. 9

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  10. 10

    Usando o plug-in Platform.js do Google

  11. 11

    Como posso modificar esse algoritmo de linha de visada para aceitar raios que passam pelos cantos?

  12. 12

    Dependência circular de diálogo personalizado

  13. 13

    Coloque uma caixa de texto HTML em uma imagem em uma posição fixa para site para desktop e celular

  14. 14

    iOS: como adicionar sombra projetada e sombra de traço no UIView?

  15. 15

    Como usar a caixa de diálogo de seleção de nomes com VBA para enviar e-mail para mais de um destinatário?

  16. 16

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  17. 17

    How to create dynamic navigation menu select from database using Codeigniter?

  18. 18

    Converter valores de linha SQL em colunas

  19. 19

    ChartJS, várias linhas no rótulo do gráfico de barras

  20. 20

    用@StyleableRes注释的getStyledAttributes。禁止警告

  21. 21

    não é possível adicionar dependência para com.google.android.gms.tasks.OnSuccessListener

quentelabel

Arquivo