c# unit O método de teste é inconclusivo: o teste não foi executado. Erro?




xunit test example c# (24)

Eu estava tendo este problema, e acabou por ser o mesmo que este problema aqui . Esta resposta resolveu o problema para mim .

  1. Desmarque a opção "Somente criar projetos e dependências de inicialização em Executar" (Opções -> Projetos e soluções -> Criar e executar)
  2. No Configuration Manager, certifique-se de que tanto o projeto de inicialização quanto o projeto de teste tenham a opção "Build" marcada.

A segunda vez que eu encontrei esse problema, foi devido a um E comercial no caminho do arquivo para o projeto onde os testes residem. Funciona bem com o test runer do ReSharper, mas não com o do dotCover. Remova oe comercial do caminho do arquivo.

Este é um bug confirmado com dotCover.

Eu tenho uma aula de teste e abaixo eu postei um teste de amostra da classe de teste

namespace AdminPortal.Tests.Controller_Test.Customer
{
    [TestClass]
    public class BusinessUnitControllerTests
    {
        private IBusinessUnitRepository _mockBusinessUnitRepository;
        private BusinessUnitController _controller;

        [TestInitialize]
        public void TestInitialize()
        {
            _mockBusinessUnitRepository = MockRepository.GenerateMock<IBusinessUnitRepository>();
            _controller = new BusinessUnitController(_mockBusinessUnitRepository);
        }

        [TestCleanup]
        public void TestCleanup()
        {
            _mockBusinessUnitRepository = null;

            _controller.Dispose();
            _controller = null;

        }

        #region Index Action Tests
        [TestMethod]
        public void Index_Action_Calls_GetAllBusinessUnit()
        {
            _mockBusinessUnitRepository.Stub(x => x.GetAllBusinessUnit());

            _controller.Index();

            _mockBusinessUnitRepository.AssertWasCalled(x=>x.GetAllBusinessUnit());
        }
    }
}

Quando eu corro o projeto eu recebo tela seguinte

Eu verifiquei as referências e o projeto de teste tem a referência ao projeto principal. Alguma idéia do motivo pelo qual o teste não está sendo executado ou dizendo que eles foram inconclusivos?

Editar 1:

Eu vi um post here e mudei a arquitetura do processador padrão do meu teste para X64, mas ainda não funciona.


Para mim, o problema era um arquivo XML de configurações NUnit / ReSharper corrompido (devido a uma falta inesperada de energia).

Para identificar o erro, iniciei o Visual Studio com este comando :

devenv.exe /ReSharper.LogFile C:\temp\resharper.log /ReSharper.LogLevel Verbose

Examinando o arquivo revelou a seguinte exceção:

09:45:31.894 |W| UnitTestLaunch                | System.ApplicationException: Error loading settings file
System.ApplicationException: Error loading settings file ---> System.Xml.XmlException: Root element is missing.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
   at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
   at System.Xml.XmlDocument.Load(XmlReader reader)
   at System.Xml.XmlDocument.Load(String filename)
   at NUnit.Engine.Internal.SettingsStore.LoadSettings()
   --- End of inner exception stack trace ---
   at NUnit.Engine.Internal.SettingsStore.LoadSettings()
   at NUnit.Engine.Services.SettingsService.StartService()
   at NUnit.Engine.Services.ServiceManager.StartServices()
   at NUnit.Engine.TestEngine.Initialize()
   at NUnit.Engine.TestEngine.GetRunner(TestPackage package)
   at JetBrains.ReSharper.UnitTestRunner.nUnit30.BuiltInNUnitRunner.<>c__DisplayClass1.<RunTests>b__0()
   at JetBrains.ReSharper.UnitTestRunner.nUnit30.BuiltInNUnitRunner.WithExtensiveErrorHandling(IRemoteTaskServer server, Action action)

Note que este não é o app.config do projeto de teste!

Um rápido googling identificou o seguinte arquivo como o culpado:

%LOCALAPPDATA%\NUnit\Nunit30Settings.xml

Existia, mas estava vazio. Excluí-lo e reiniciar o Visual Studio resolveu o problema.

(Usando o Visual Studio Professional 2017 v15.3.5 e o ReSharper 2017.2.1).


No meu caso eu criei um método de teste assíncrono que retornou void . Retornando da Task vez de void resolveu o problema.


Para quem está com pressa para execução de testes, eu tive que usar o VS 2017 test explorer para executar testes;


Você adicionou alguma dependência de DLL recentemente? ... Como eu

Acabei de me deparar com o mesmo problema e foi muito exasperante não conseguir qualquer pista na janela de saída do teste ou em outro lugar prático.

A causa foi extremamente estúpida: acabei de adicionar o dia anterior à dependência de uma DLL externa adicional em um subprojeto, e o projeto principal App realmente foi criado e executado corretamente após a alteração. Mas meus testes de unidade estão em um projeto irmão para o aplicativo principal e, portanto, também tinha a dependência desse subprojeto alterado onde a DLL foi invocada ... ainda assim, o local de tempo de execução do projeto de teste não é o do App principal! Então, alterar a compilação para fazer a cópia da DLL ausente no diretório de tempo de execução de teste corrigiu o problema.


No meu caso, foi um erro que eu fiz ao copiar o connectionstring no app.config .. Eu tinha colocado dentro da tag configSections!

Demorei um pouco para perceber que ... graças VS intellisense embora .. ou foi resharper?


No meu caso, recebi este erro por causa do modo 'Release', em que a construção do projeto UnitTests foi simplesmente desativada. Mudar de volta para o modo 'Debug' corrigiu.

É realmente surpreendente que o ReSharper não possa dizer nada no caso de não encontrar a biblioteca UnitTests. Sério, é uma pena;)

Espero que ajude alguém


Meu problema era que eu tinha instalado apenas o NUnit com o nuget. Eu não tinha instalado o NUnit3TestAdapter, que também era necessário.

Install-Package NUnit3TestAdapter

No meu caso, meu método de teste era privado, mudei para público e funcionou.


Se você estiver usando o xUnit , resolvi o problema de instalar o pacote xunit.running.visualstudio . (atualmente usando xUnit 2.3.1 e VS17 Enterprise 15.3.5 )


Apenas no caso de nenhuma das opções acima funcionar para alguém, eu corrigi minha instância desse erro, notando uma entrada corrompida em meu App.Config devido a um pacote nuget ausente no projeto de teste.


Eu estava tendo o mesmo problema para executar qualquer teste usando o framework NUnit. "Inconclusivo: Teste não executado" Visual Studio 2017 15.5.6

ReSharper Ultimate 2017.3.3 Build 111.0.20180302.65130

RESOLVIDO Adicionando dependência de projeto ao Microsoft.NET.Test.Sdk


Foi um problema do Resharper. Em Resharper options-> Tools-> MSTEST, desabilitei o uso do Legacy Runner e agora ele funciona.


Causado pelo arquivo App.Config ausente (não corrompido). Adicionar novo (Adicionar -> Novo Item ... -> Arquivo de Configuração do Aplicativo) corrigiu-o.


Comportamento muito estranho.

Acabei de mover uma nova entrada de appsetting recentemente adicionada à parte inferior do app.config resolveu meu problema.

<appSettings>
    <add key="xxxxxx" value="xxxxx" />
</appSettings>

Espero que isso ajude alguém


No meu caso, todos os testes dentro de alguns projetos de teste dentro de uma solução não começaram a ser executados depois que eu adicionei novos projetos. Usando o VS 2017 com o ReSharper 2017.1.2 aqui.

Antes de mais nada, certifique-se de que não está perdendo tempo, supondo que seu problema esteja relacionado ao ReSharper. É fácil supor que há algo errado com o ReSharper se você usar seus recursos de teste de unidade, incluindo o Unit Test Explorer . Abra o Test Explorer do Visual Studio no menu Test e tente Executar Tudo ". A vantagem adicional de fazer isso é que a janela de saída mostrará uma mensagem de erro que pode apontar você na direção correta. Se você notar que o mesmo conjunto de teste não são executados, então é seguro assumir que o problema é com o Visual Studio e não com o ReSharper.

Acabei excluindo e adicionando novamente uma das plataformas Active solution , Any CPU , no Configuration Manager . Ao fazer isso, depois de salvar minhas alterações e reabrir a solução, todos os testes começaram a ser executados novamente.

Eu acredito que houve uma entrada de configuração inesperada no arquivo de solução quando adicionei novos projetos e usando a recriação de uma das plataformas, ela se corrigiu. Tentei diferenciar, mas foi difícil dizer o que mudou para causar o problema.


Para aqueles que estão enfrentando esse problema no meu projeto de teste .NET Core 2.0 na Visual Studio 2017 Community (v15.3 3) . Eu também tive esse bug usando JetBrains ReSharper Ultimate 2017.2 Build 109.0.20170824.131346 - há um bug eu postei.

A JetBrains recomendou criar um novo projeto de teste do zero para reproduzi-lo. Quando fiz isso e obtive testes funcionando, achei o motivo que causou o problema:

  • Remova isso do seu arquivo *.csproj :
  • Service Include="{82a7f48d-3b50-4b1e-b82e-3ada8210c358} "

Quando fiz isso - os testes começaram a funcionar bem.


Para mim, basta limpar e reconstruir a solução.


Eu tive exatamente o mesmo problema e nada ajudou.

Eventualmente, vi que eu tinha uma incompatibilidade em meus namespaces do projeto unitário e do projeto de teste unitário.

O namespace do meu projeto de unidade é unit.project e o projeto de teste foi denominado unit.project.tests, mas o namespace padrão do teste era o mesmo da unidade, ambos unit.project.

Depois de atualizar os namespaces para serem diferentes (um namespace para cada projeto), tudo funcionou!


Eu apenas consertei esse problema também. No entanto, nenhuma das soluções neste thread funcionou. Aqui está o que eu fiz ...

Como o R # não estava dando detalhes sobre por que as coisas estavam falhando, decidi testar o test runer interno do VS2013. Ele experimentou exatamente o mesmo comportamento em que nenhum dos testes foi executado. No entanto, olhando na janela de saída, finalmente tive uma mensagem de erro:

Ocorreu uma exceção ao invocar executor 'executor: // mstestadapter / v1': Referência de objeto não definida para uma instância de um objeto.

Isso me levou a outro segmento no SO com uma solução. Acredite em mim, eu nunca teria adivinhado qual era o problema.

Recentemente, fiz algumas alterações no arquivo AssemblyInfo.cs ao criar um pacote NuGet. Uma das alterações, incluindo a especificação de um valor de cultura de montagem de "en".

Eu mudei isso:

[assembly: AssemblyCulture("")] 

para isso:

[assembly: AssemblyCulture("en")]`. 

Foi isso! Isso é o que inexplicavelmente quebrou meus testes de unidade. Eu ainda não entendo porque, no entanto. Mas pelo menos as coisas estão funcionando novamente. Depois de reverter essa alteração (ou seja, definir a cultura de volta para ""), meus testes começaram a ser executados novamente.

Espero que ajude alguém lá fora.


No meu caso, os métodos [Test] eram apenas private . Vergonha


Minha solução:

O NUnit 3.2.0 tem alguns problemas com o Resharper - downgrade para 2.6.4:

update-package nunit -version 2.6.4

Eu tive esse mesmo problema. O culpado foi uma referência externa não ser compatível com as configurações de criação do meu projeto. Para resolver, cliquei com o botão direito em project-> properties-> build-> Platform Target-> mude de Any CPU para x86.

O particular * .dll que eu estava trabalhando era System.Data.SQLite. Esse determinado * .dll é codificado para operação de 32 bits. A configuração "Qualquer CPU" tentou carregá-lo como 64 bits.


Eu enfrentei este problema no 2017 update 3 com o Resharper Ultimate 2017.2

Reinicie vs ou reinicie a máquina não pode ajudar.

Eu resolvi o problema limpando o Cache da seguinte forma:

    Resharper ->options-> Environment ->click the button 'Clear caches'

Atualizar:

Existe um botão "error" (eu encontro no Resharper 2018) no canto superior direito da janela de teste.

Se você clicar no botão de erro, ele mostrará uma mensagem de erro que pode ajudar a resolver o problema.

Para rastrear a raiz do problema, execute o Visual Studio no modo de log. Em vs 2017, execute o comando:

      devenv /ReSharper.LogFile C:\temp\log\test_log.txt /ReSharper.LogLevel Verbose

Execute o teste.

Revise o arquivo de log test_log.txt e procure por 'error' no arquivo.

O arquivo de log é uma ótima ajuda para encontrar o erro que você pode resolver ou você pode enviar o problema com o arquivo de log para a equipe de suporte técnico do Resharper .







resharper