Ну, я потратил время на удаление Microsoft Moles и производственного кода, который занимался проблемами, связанными с log4net, чтобы я мог фактически сравнить их.Затем я провел тесты в MSTest 2008 и NUnit 2.5.2.
Я обнаружил, что MSTest лучше сообщает о продолжительности каждого отдельного теста.Если тест в NUnit выполняется достаточно быстро, он регистрируется как 0 секунд как в файле TestResults.xml, так и в графическом интерфейсе, когда пользователь нажимает на свойства теста.Тем не менее, я попытался сравнить сумму всех скоростей тестирования, и в некоторых случаях NUnit быстрее, а в других случаях MSTest быстрее.Когда один из них быстрее другого, он примерно на 30%.
Теперь, когда NUnit определенно выглядит быстрее, это время ожидания перед запуском модульных тестов.Когда я присоединяю графический интерфейс (или консоль) к отладчику VS и запускаю тестовый проект, запуск и загрузка NUnit занимает около 3-6 секунд, прежде чем можно будет выполнить тесты.С MSTest это занимает 15-20 секунд.Для MSTest не имеет значения, если есть только 1 тест или 26, это время загрузки, кажется, то же самое.Относительно того, как масштабируется время ожидания по мере увеличения тестового проекта, скажем, в тысячах модульных тестов, я не могу комментировать разницу, хотя мне было бы очень интересно узнать.
Там такжекажется, что MSTest немного задерживается во время выполнения тестов, возможно, для обновления панели результатов.Таким образом, я подозреваю, что когда люди говорят, что NUnit намного быстрее, чем MSTest, это происходит из-за задержек загрузки и обновления, но фактическое время выполнения теста кажется очень похожим.