UWAGA: Oryginalna odpowiedź poniżej powinna działać dla każdej wersji VS do VS2012. Wygląda na to, że VS2013 nie ma już okna wyników testu. Zamiast tego, jeśli potrzebujesz danych wyjściowych specyficznych dla testu, możesz użyć sugestii @ Stretch, Trace.Write()
aby zapisać dane wyjściowe w oknie Output.
Console.Write
Metoda nie pisać do „konsoli” - pisze na to, co jest podłączone do standardowego uchwytu wyjścia dla procesu. Podobnie Console.Read
odczytuje dane wejściowe z tego, co jest podłączone do standardowego wejścia.
Po uruchomieniu testu jednostkowego za pomocą VS2010 standardowe wyjście jest przekierowywane przez wiązkę testową i przechowywane jako część wyjścia testowego. Można to zobaczyć, klikając prawym przyciskiem myszy okno Wyniki testu i dodając kolumnę o nazwie „Wyjście (StdOut)” do ekranu. To pokaże wszystko, co zostało napisane na stdout.
Państwo mogłoby ręcznie otworzyć okno konsoli, przy użyciu P / Invoke jak @ sinni800 mówi. Z przeczytania AllocConsole
dokumentacji wynika, że funkcja zresetuje się stdin
i stdout
obsługuje wskazanie nowego okna konsoli. (Nie jestem tego w 100% pewien; wydaje mi się, że trochę źle, jeśli przekierowałem już stdout
system Windows, aby ukraść to ode mnie, ale nie próbowałem).
Ogólnie jednak uważam, że to zły pomysł; jeśli wszystko, do czego chcesz użyć konsoli, to zrzucić więcej informacji o teście jednostkowym, dane wyjściowe są dla Ciebie. Nie przestawaj korzystać z Console.WriteLine
tego, co robisz, a po zakończeniu sprawdź wyniki w oknie Wyniki testu.