Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 31285|Resposta: 3

[Fonte] .net/c# usa testes unitários xunit

[Copiar link]
Publicado em 22/01/2019 14:58:26 | | | |
Atualmente em serviço. As ferramentas de teste sob o framework Net incluem principalmente Nunit, MSTest embutido e Xunit, e este artigo irá apresentar brevemente como usar o XUnit, uma estrela em ascensão no VS.

O tempo mínimo de execução suportado por xunit é . NET 4.5.2, a maioria dos quais é mais alta. Mesmo que você consiga construir uma biblioteca de classes 4.0, ela ainda vai funcionar pelo menos no .NET 4.5.2. Links detalhados:https://github.com/xunit/xunit/issues/1817


Primeiro, criei um novo projeto de console .NET 4.5.2 com o nome: itsvse-test, e a versão mais recente do xunit é: 2.4.1, então o comando nuget é o seguinte:

Cada pacote é licenciado para você pelo seu proprietário. A NuGet não é responsável por pacotes de terceiros e não os licencia. Alguns pacotes podem incluir dependências sujeitas a outras licenças. Clique na URL de origem do pacote (fonte) para determinar quaisquer dependências.

Gerenciador de pacotes versão host do console 4.7.0.5212

Digite "get-help NuGet" para ver todos os comandos NuGet disponíveis.

PM> Install-Package xunit -Versão 2.4.1


Estão sendo feitas tentativas para coletar e mirar ". NETFramework, Version=v4.5.2" do projeto "itsvse-test" sobre o pacote "xunit.2.4.1"
Leva 2,1 segundos para coletar informações de dependência
Tentando resolver a dependência do pacote "xunit.2.4.1" com o DependencyBehavior como "Lowest"
Analisar informações de dependência leva 0 ms
Operação de análise para instalar o pacote "xunit.2.4.1"
Resolvi a operação para instalar o pacote "xunit.2.4.1"
Recuperar o pacote "xunit 2.4.1" de "cnblogs"
Recuperar o pacote "xunit.abstractions 2.0.3" de "cnblogs"
Recuperar o pacote "xunit.analyzers 0.10.0" de "cnblogs"
Recuperar o pacote "xunit.assert 2.4.1" em "cnblogs"
Recuperar o pacote "xunit.core 2.4.1" de "cnblogs"
Recuperar o pacote "xunit.extensibility.core 2.4.1" de "cnblogs"
Recuperar o pacote "xunit.extensibility.execution 2.4.1" de "cnblogs"
  OBTERhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  OBTERhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  OBTERhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  OBTERhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  OBTERhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  OBTERhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  OBTERhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg
  OKEYhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg116 ms
  OKEYhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg117 ms
Instalando xunit.abstractions 2.0.3.
Instalando a xunit 2.4.1.
  OKEYhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
Instalando o xunit.core 2.4.1.
  OKEYhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
Instalando xunit.assert 2.4.1.
  OKEYhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
Instalando xunit.extensibility.core 2.4.1.
  OKEYhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
Instalando o xunit.analyzers 0.10.0.
  OKEYhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
Instalando xunit.extensibility.execution 2.4.1.
Adicionando o pacote "xunit.abstractions.2.0.3" à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
O pacote "xunit.abstractions.2.0.3" foi adicionado à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Adicionou o pacote "xunit.abstractions.2.0.3" a "packages.config"
Instalei com sucesso "xunit.abstractions 2.0.3" no test-itsvse
Adicionando o pacote apenas do conjunto de ferramentas "xunit.analyzers.0.10.0" ao "itsvse-test"
Adicionando o pacote "xunit.analyzers.0.10.0" à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
O pacote "xunit.analyzers.0.10.0" foi adicionado à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Adicionado o pacote "xunit.analyzers.0.10.0" ao "packages.config"
Arquivo de script "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" foi instalado com sucesso no teste ITSVSE
Adicionando o pacote "xunit.assert.2.4.1" à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
O pacote "xunit.assert.2.4.1" foi adicionado à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Adicionado o pacote "xunit.assert.2.4.1" ao "packages.config"
"xunit.assert 2.4.1" foi instalado com sucesso no teste-SUVSE
Adicionando o pacote "xunit.extensibility.core.2.4.1" à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
O pacote "xunit.extensibility.core.2.4.1" foi adicionado à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Adicionado o pacote "xunit.extensibility.core.2.4.1" ao "packages.config"
"xunit.extensibility.core 2.4.1" foi instalado com sucesso para o teste SEU
Adicionando o pacote "xunit.extensibility.execution.2.4.1" à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
O pacote "xunit.extensibility.execution.2.4.1" foi adicionado à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Adicionado o pacote "xunit.extensibility.execution.2.4.1" a "packages.config"
"xunit.extensibility.execution 2.4.1" foi instalado com sucesso no teste SEU VSE
Adicionando o pacote "xunit.core.2.4.1" à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
O pacote "xunit.core.2.4.1" foi adicionado à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Adicionado o pacote "xunit.core.2.4.1" ao "packages.config"
"xunit.core 2.4.1" foi instalado com sucesso no teste de seu SVSE
Adicionando o pacote "xunit.2.4.1" com apenas dependências para projetar "itsvse-test".
O pacote "xunit.2.4.1" está sendo adicionado à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
O pacote "xunit.2.4.1" foi adicionado à pasta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
O pacote "xunit.2.4.1" foi adicionado ao "packages.config"
"Xunit 2.4.1" foi instalado com sucesso para o teste de sua VSE
Nuget levou 5,51 segundos para executar
Tempo decorrido: 00:00:07.7781544
PM>
Instale os pacotes de plug-in: xunit.runner.console (omitido neste artigo) e xunit.runner.visualstudio

onde xUnit é a estrutura,E xunit.runner.visualstudio é o pacote de plugins VS, para que possamos depurar facilmente em VS.Instalar xunit.runner.console também pode ser depurado sob CMDMas se isso for suportado, acredito que poucas pessoas vão usar esse framework, afinal, a forma como digitam comandos diminui seriamente a qualidade do Visual Studio, então não vou explicar aqui.

Aqui, instalamos apenas o pacote de plugins xunit.runner.visualstudio, clicamos com o botão direito no projeto no Explorador de Soluções e selecionamos Gerenciar Pacotes NuGet. Procure (e instale) um pacote chamado xunit.runner.visualstudio:



Certifique-se de que o navegador de testes está visível (vá até a janela de > de testes > Explorador de Testes). Toda vez que um projeto é construído, o runner descobre testes unitários no projeto. Após um período de descoberta, você deve ver uma lista dos testes descobertos:



Edite o arquivo Program e altere o seguinte código:

Clique no link na janela Executar Tudo e você deve ver a atualização do resultado na janela do Explorador de Testes ao rodar o teste:



Você pode clicar no teste falhado para visualizar a mensagem de falha e o rastreamento da pilha. Você pode clicar na linha de rastreamento da pilha para ir direto à linha de código que falhou.

(Fim)





Anterior:Sleep Your Sister Despertador v4.6.1 Versão Profissional Paga Premium Chinesa
Próximo:Notas de Estudo em C# de hoje
 Senhorio| Publicado em 22/01/2019 15:19:24 |
A Xunit não precisa marcar classes de teste

A xUnit suporta propriedades tanto de [Fato] quanto de [Teoria]. Como você pode ver pelo código, [Fato] é semelhante ao código de chamada real que escrevemos, enquanto [Teoria] com InlineData pode testar múltiplos conjuntos de parâmetros diretamente em um único método.

 Senhorio| Publicado em 22/01/2019 15:31:55 |
Teste de anomalia

O Xunit não sinaliza capturas de exceção via Attributes, mas usa diretamente a função de asserção Assert.Throws para validar exceções.

    classe pública TestClass1
    {
        [Fato]
        Teste de nulo público Exception()
        {
            Assert.Throws<InvalidOperationException>(() = > operação());
        }

        operação void()
        {
            lançar um novo InvalidOperationException();
        }
    }



Altere o nome do caso de teste:

     [Fato (DisplayName = "Teste de Função Máxima")]



Pule casos de teste:

     [fact(skip="refatoração incompleta")]



Agrupamento:

     [Traço("Grupo", "Categoria")]
 Senhorio| Publicado em 22/01/2019 15:37:28 |
Em muitos casos, não queremos que os testes unitários afetem o conteúdo do banco de dados, e às vezes nossos testes unitários são muito lentos devido ao impacto do banco de dados, então muitas vezes queremos isolar a parte da persistência e não persistimos realmente os dados ao fazer testes unitários. Esse tipo de isolamento geralmente usamos abstração, ou seja, usamos interfaces ou classes abstratas para isolar a camada de persistência, e depois usamos mocks para simular as interfaces correspondentes ou classes abstratas para completar as classes de persistência correspondentes. MoQ é um desses frameworks de mock, MoQ usa C# 3.0, que é mais simples de usar que NMock, e é uma forma fortemente tipada, e o código-fonte e a dll podem ser acessadosO login do hiperlink está visível.Baixe. A versão mais recente do MoQ agora é a versão 3.1, e a 4.0 ainda está em beta.
https://www.cnblogs.com/catcher1994/p/5498530.html
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com