NOTA: A resposta original abaixo deve funcionar para qualquer versão do Visual Studio até o Visual Studio 2012. O Visual Studio 2013 não parece mais ter uma janela Resultados do Teste. Em vez disso, se você precisar de uma saída específica de teste, use a sugestão do @ Stretch de Trace.Write()
gravar a saída na janela Saída.
O Console.Write
método não grava no "console" - ele grava no que estiver conectado ao identificador de saída padrão do processo em execução. Da mesma forma, Console.Read
lê a entrada do que estiver conectado à entrada padrão.
Quando você executa um teste de unidade no Visual Studio 2010, a saída padrão é redirecionada pelo equipamento de teste e armazenada como parte da saída de teste. Você pode ver isso clicando com o botão direito do mouse na janela Resultados do teste e adicionando a coluna denominada "Saída (StdOut)" à exibição. Isso mostrará tudo o que foi gravado na saída padrão.
Você pode abrir manualmente uma janela do console, usando P / Invoke, como sinni800 diz . Ao ler a AllocConsole
documentação, parece que a função será redefinida stdin
e stdout
manipulada para apontar para a nova janela do console. (Não tenho 100% de certeza disso; me parece meio errado se eu já redirecionei o stdout
Windows para roubá-lo de mim, mas ainda não tentei.)
Em geral, porém, acho que é uma má ideia; se tudo o que você deseja usar no console é despejar mais informações sobre o seu teste de unidade, a saída existe para você. Continue usando Console.WriteLine
do jeito que está e verifique os resultados de saída na janela Resultados do Teste quando terminar.