net - xunit test example c#




O método de teste é inconclusivo: o teste não foi executado. Erro? (20)

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.


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.


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


Estou usando VS2010, NUnit 2.6.3 (embora internamente ReSharper diz que está usando 2.6.2?), ReSharper 7.7.1 e NCrunch 2.5.0.12 e estava correndo na mesma coisa "... teste é inconclusivo ..." com NUnit, mas NCrunch disse que estava tudo bem. Na maior parte de hoje o NUnit & NCrunch estavam em sincronia sobre quais testes eram felizes e quais precisavam de refatoração, então algo aconteceu que eu ainda não entendi, e por um tempo NCrunch disse que eu tinha testes fracassados ​​(mas passando por eles mostrava passe), então decidi que estavam todos trabalhando, e o NUnit começou a reclamar sobre todos os meus testes, exceto um com a mesma mensagem "... o teste é inconclusivo ...", que eu pude novamente passar para um passe mesmo que o NUnit continue para mostrá-lo como "inconclusivo").

Eu tentei várias das sugestões acima, sem sucesso, e, finalmente, apenas fechou VS2010 e reabriu a solução. Voila, agora todos os meus testes estão felizes novamente, e NCrunch & NUnit estão relatando os mesmos resultados novamente. Infelizmente não tenho idéia do que mudou para torná-los fora de sincronia, mas o fechamento e reabertura do VS2010 parece tê-lo corrigido.

Talvez alguém encontre isso e consiga usar essa solução simples (se não for satisfatória, já que você não sabe qual é a solução real).


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.


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 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


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 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 tive um problema semelhante. VS 2010, c # CLR 2 Nunit 2.5.7, apenas construir> solução limpa da VS ajudou a resolver este problema


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


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

No meu caso eu criei um método de teste assíncrono que retornou void . Retornando da Task vez de void resolveu 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, meu método de teste era privado, mudei para público e funcionou.


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


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.


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).


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


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 )





resharper