NUnit на самом деле не работает с консолью - и на самом деле вы не должны использовать его для тестирования чего-то, что требует взаимодействия с пользователем - что было бы интеграционным тестом. Хотя вы могли бы реализовать это:
if(Double.TryParse(Console.ReadLine(), out var ok) && ok)
Assert.Pass("Test OK");
else
Assert.Fail("Test failed");
Я сомневаюсь, что это хорошая идея, так как ее невозможно автоматизировать, что является одной из основных целей юнит-тестов.
Поскольку все, что вы хотите, кажется некоторым маркером для NUnit, если ваш тест прошел успешно, я бы всегда использовал Assert.Inconclusive
, чтобы указать, что пользователь должен каким-то образом интерпретировать результат (например, файл) , Фактически вы можете полностью игнорировать NUnit для этого типа теста, просто запустите свое приложение и позвольте своему пользователю использовать его как обычно.
Кроме того, напишите юнит-тесты для всего, что является тестируемым. При необходимости измените код, чтобы получить что-то тестируемое, извлекающее бизнес-логику из вашего пользовательского интерфейса.