Есть ли способ показать прогресс одного TestMethod в Visual Studio 2008?Возможно ли показать прогресс во время выполнения TestMethod Visual Studio?
В комплекте модульных тестов у меня есть один TestMethod, который работает очень и очень долго - обычно это займет от 30 до 60 минут. Я установил Timeout с использованием атрибута [Timeout], без проблем. Но я хотел бы получить визуальное представление о ходе теста.
Я знаю, что окно результатов испытаний дает визуальное обновление хода всех методов тестирования. То, что я хочу, - это обновление визуального прогресса одного метода. В приложении WinForms я бы вывел элемент управления ProgressBar. В консольном приложении я бы поместил курсор и отобразил сообщение о состоянии. Но это единичный тест. Я могу писать в TestContext, но это окно не может быть просмотрено до завершения теста.
EDIT: Я знаю, что есть способ сделать это; это всего лишь программное обеспечение, поэтому всегда есть способ. Но что является простым, практичным способом?
Один из способов сделать это - это приложение TestMethodProgressMonitor.exe, которое читается из именованного канала и обновляет индикатор выполнения на основе сообщений, поступающих через канал. TestMethod может shellExec TestMethodProgressMonitor.exe, а затем писать в именованный канал. Когда закончите, возможно, есть известная команда shutdown, которую TestMethod отправляет в приложение TestMethodProgressMonitor.exe.
Другим вариантом является создание TestMethodProgressMonitor.exe в качестве COM-сервера, а TestMethod может использовать COM (DCOM) для обновления размещенной строки выполнения в приложении.
Другой вариант - использовать метод SendMessage() user32.dll для отправки сообщения WM_COPYDATA в приложение-монитор. Иногда это делается для удаленного управления приложениями.
Это некоторые из возможностей. Прежде чем я приступил к построению одного из них, я хотел бы знать, есть ли более простой способ.
единичный тест, который занимает так много времени, не является единичным тестом на каждое определение. Зачем это так долго? –
Это тест создания файла ZIP64; Тест шифрует набор файлов, которые приводят к zip-файлу размером более 4 ГБ. Затем zipfile обновляется и сохраняется снова (дважды). Код составляет около 5 строк, окруженных петлей. Но есть много и много ввода-вывода и много DEFLATE. Вы действительно говорите, что определение модульного теста включает ограничение по времени? Каков срок? – Cheeso