При использовании обоих инструментов они работают примерно одинаково. Вы запускаете тесты, а затем просматриваете отчет. Оба инструмента обеспечивают выделение кода, чтобы показать, какие строки кода имеют покрытие, а какие нет. MsTest не предоставляет намного больше информации, но NCover предоставляет множество отчетов в формате HTML и может определять тенденции покрытия кода с течением времени. Подобные вещи могут быть полезны.
Теперь о различиях. Инструменты покрытия MsTest действительно работают только с модульными тестами MsTest. Он не может легко покрыть тесты, написанные с использованием NUnit (или других сред тестирования) из IDE. Это можно сделать, но это займет некоторое время и требует вызова инструментов покрытия из командной строки и настройки ваших сборок вручную. Опять же, это можно сделать, но не очень легко, особенно для новичка. NCover более гибкий и может работать с большинством фреймворков для тестирования. Кроме того, я обнаружил, что NCover проще запускать с помощью сервера автоматической сборки. Мне никогда не удавалось автоматизировать покрытие MsTest в CruiseControl, но я предполагаю, что MS заставляет его работать в Team Foundation Server.
person
Matthew Kubicina
schedule
01.11.2010