27 September 2007

xUnit.Net - новий фрамеворк для юніт тестінгу

Хлопці (один з них, до речі, розробник NUnit, тепер працює в Microsoft)  поміркували і вирішили що NUnit вмер. Тепер вони пишуть свою реалізацію. Абстрактний анонос з описом чому і як можна знайти тут.

Головна причина розробки цього фрамеворка це максимальне спрощення. Дещо викинули, деякі атрибути змінили на інтерфейси. Дещо переіменували.. Себто це і всі зміни.

На додачу розповім декілька своїх зауважень...

  1. Писати суміні тести і для VSTS і для xUnit, набагато складніше аніж для VSTS та NUnit, адже різниця в VSTS та NUnit в більшості випадків просто в назвах, а тут в способі використання. За прикладами далеко ходити не потрібно, був атрібут Ignore, тепер Test(Skip=true).. Ну і як тепер жити? Ех... #if..#end
  2. Чомусь змінили синтаксіс методів Assert, було Assert.AreEqual, а тепер Assert.Equal.. В чому різниця?
  3. Додали (це мабуть єдине...) підтримку Data Driven Tests. Це вже цікаво, до інтелектуальних тестів ще далеко, але NUnit цього явно не вистачало. Це навіть VSTS підтримує. До речі, схоже, воно набагато універсальніше, аніж в VSTS;
  4. Нажаль код не зкомпілювався, тому сказати щось конкретне не можу ;(. А от FxCop може, він аж захлинається..

Головна сторінка: http://www.codeplex.com/xunit

Порівняння з іншими: http://www.codeplex.com/xunit/Wiki/View.aspx?title=Comparisons&referringTitle=Home

Зкачати: http://www.codeplex.com/xunit/Release/ProjectReleases.aspx

Помічено як: , ,
 

Коментарі

# status_alexus said:

Спасибо большое за взвешенную оценку. Передо мной буквально сегодня поставили задачу реализовывать Data Access Layer причем с покрытием тестами.

Планирую использовать тесты VSTS. Если разве что есть ну уж очень существенные причины использовать что-то другое (mbUnit?), то можно.

Не мог бы подсказать внятную статью по Data Driven Tests?

В любом случае спасибо.

27 September 07 at 1:46 PM
# Mike Chaliy said:

Як на мене ні, хоча усі крім VSTS не потребують встановленної студії на тестовому сервері(якщо є).

Якщо це не проблема то різниці майже немає.

Мені більше до вподоби VSTS, але це томущо я використовую не тільки юніт тестінг. Мені постіно потрібні ЛоадТести, і іноді WebTestи. І те що вони інтгруються мені просто потрібно.

Про Data Driven Tests, навіть не знаю що порекомендувати, я просто дивився описи атрібутів, для VSTS це DataSource, для MbUnit - Row.

Перша лінка з пошуковика це http://msdn2.microsoft.com/en-us/library/ms182519(VS.80).aspx.

28 September 07 at 4:47 AM
Анонімні коментарі деактивовані. Увійдіть або Зареєструйтесь щоб мати доступ до ресурсів Спільноти.

About Mike Chaliy

Вчу українську, багато працюю. Цікавлюсь моделюванням небезпек. Більшість часу витрачаю на .Net.