Як NUnit для C # порівнюється з об'єктом Unit Test, інтегрованим із Visual Studio


12

Мені потрібно працювати в команді, щоб розробити додаток для робочого столу середньої шкали, розроблений за допомогою C # .NET. До цього я не застосовував модульне тестування та тестування керованої розробки. Я усвідомлюю, що існує багато інструментів та рамок для тестових програм C #. На сьогоднішній день мені відомо про Nunit та об'єкт Unit Testing, інтегрований із Visual Studio.

Мені хотілося б знати, як вони порівнюються?

Відповіді:


14

Між двома напевно є певне перекриття. NUnit є попередником, і в результаті більш зрілим. C # Unit Test Framework є молодшим, але інтегрований із Visual Studio.

Я приїхав із світу Java, де JUnit є королем (є інші, але жоден не користується популярністю), а NUnit 2.5.x - це дійсно гарна відповідність тому, як працює JUnit 4. Насправді він працює набагато краще, ніж аналог Java.

Що стосується визначення тесту, я віддаю перевагу NUnit. Впевнений, MS Test має схожі (але різні) атрибути, які ви застосовуєте до своїх класів, але я вважаю, що у ньому відсутні деякі функції, які можуть врятувати вам певну роботу над деякими видами тестування. Ви можете перевірити подібну дискусію на StackOverflow .

Мені подобається нова модель твердження, вбудована в NUnit (вона використовує твердження стилю Hamcrest ), оскільки вони одночасно легко читати і легко розширюються.

  • NUnit матиме кращу підтримку сторонніх розробників, MS Test матиме кращу інтеграцію (нестандартно).
  • NUnit матиме кращу гнучкість та розширюваність, MS Test постраждає в цій області.
  • Обидва запустіть одиничні тести та перевіряйте результати, обидва будуть працювати на TDD.

3

Єдина реальна різниця, яку я помітив, коли мені довелося створити сценарій збірки для роботи на виділеному сервері MSBUILD форми TFS, налаштування nUnit та отримання результатів тесту nUnit було справжнім болем, налаштування його та отримання результатів для MSTest було легким вітерцем.

Також виникла проблема з Resharper, коли тест MSTest неможливо було виконати з тестового бігуна. У нових версіях це виправлено, тому якщо у вас є стара версія Resharper, це все ще може бути проблемою.

Це повідомлення від Роя Ошерева - це ще хороший огляд.

ps: Видалена моя інша відповідь, зовсім не була корисною, мої вибачення за це.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.