Пожалуйста помогите прояснить несколько вопросов, на которые я не могу толком найти ответ.
Кто-нибудь пользуется/пользовался инструментарием для юнит-тестов, который есть в VS2008?
В чем преимущества/недостатки Unit тестов VS2008 vs фреймворка NUnit?
Одно из преимуществ NUnit-a на мой взгляд в том, что его много кто использует, по нему есть кое-какие книги, например:
Pragmatic.Bookshelf.Pragmatic.Unit.Testing.in.C.Sharp.with.NUnit (эту я уже почти прочитал %) )
Test-Driven Development in Microsoft® .NET
Что можно почитать про инструментарий tests VS2008? (не только юнит тесты, но и нагрузочные, стресс и что там еще есть?)
Нашел пока одну ссылочку для 2005-ой студии http://msdn2.microsoft.com/en-us/library/ms364064(vs.80).aspx
Если все так радостно, как тут написано, то почему пишут, что юнит тесты в 2005-ой студии сливают NUnit-у?
Вопросы все связаны с тем, что мы в нашей компании собираемся внедрять юнит тесты в нашей компании, но похоже "начальнеги" не уверены какие именно.
Мои вопросы про то, какой планируется билд-сервер пока игнорируются ((
Я пока что склоняюсь к NUnit, хотя бы потому что по нему побольше инфы и куча примеров успешного использования.
Очень жду взвешенных комментов ))
Спасибо всем заранее.
Родные студийные тесты, естестенно, получше интегрированы в среду, встроенный Code Coverage с подсветкой строк и все такое.
Наверное как-то интегрировано в TFS.
Есть со студийными тестами одна проблема — они присутствуют только в Team Suite редакции. А редакция эта стоит очень недешево. nUnit меж тем бесплатен и легко интегрируется в собственные средства автоматизированной сборки.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Van800, Вы писали:
AVK>Есть со студийными тестами одна проблема — они присутствуют только в Team Suite редакции. А редакция эта стоит очень недешево. nUnit меж тем бесплатен и легко интегрируется в собственные средства автоматизированной сборки.
Легко ли освоить студийные тесты?
Не могу по ним никакой нормальной книжки найти ((
Здравствуйте, Igor Trofimov, Вы писали:
iT>Ммм... мне показалось, или в 2008 они появились и в Professional? iT>Если показалось, то да, еще и это.
Сам не видел, но говорят что там они есть Правда, по информации из MSDN (раздел по unit-тестам)
они немного не такие как в Team Suite (что-то обрезали — подробнее в MSDN)
В качестве небольшого оффтопа.
Наткнулся на xUnit.Net — библиотека для юнит-тестирования от одного из авторов NUnit.
В ней есть много хороших идей.
Особенно нравится работа с исключениями:
InvalidOperationException ex = Assert.Throws<InvalidOperationException>(delegate
{
new MyClass().PerformInvalidOperation();
});
Assert.Equal("Can't perform this operation", ex.Message);
Еще плюс. Методы типа NotEqual — generic.
Здесь MSTest и NUnit пропустят ошибку, xUnit.Net найдет на стадии компиляции:
int v1 = 1;
string v2 = "1";
NUnit.Assert.AreNotEqual(v1, v2); // Ошибку прошляпили
XUnit.Assert.NotEqual(v1, v2); // Даже не скомпилится!
iT>Ммм... мне показалось, или в 2008 они появились и в Professional? iT>Если показалось, то да, еще и это.
Они действительно есть в Professional редакции. Зато похоже code coverage там отсутствует — ничего внятного я по этому поводу не нашел. Конечно можно попробовать подвязать NCover, но как то обидно.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, Van800, Вы писали:
AVK>Есть со студийными тестами одна проблема — они присутствуют только в Team Suite редакции. А редакция эта стоит очень недешево. nUnit меж тем бесплатен и легко интегрируется в собственные средства автоматизированной сборки.
В VS2008 они сделали downgrade до редакции Professional.
Сами являемся пользователями подписки VS2008 Professional и пользуемся тестами MSTest.
Особых различий никаких у них нет — теже яйца только в профиль.
Есдинственно: в самой среде поддержка MSTest сделана очень удобно. Если ваша комманда особо не политизирована, и вам в итоге, пофигу, опенсорсовским или майкрософтовским инструментом пользоваться, то MSTest имеет преимущество в удобстве использования, но в тоже время не более — они содраны друг с друга и функционально и архитектурно идентичны.
Здравствуйте, vioso, Вы писали:
V>Здравствуйте, Igor Trofimov, Вы писали:
iT>>Ммм... мне показалось, или в 2008 они появились и в Professional? iT>>Если показалось, то да, еще и это.
V>Сам не видел, но говорят что там они есть Правда, по информации из MSDN (раздел по unit-тестам) V>они немного не такие как в Team Suite (что-то обрезали — подробнее в MSDN)
В standart — нет совсем.
В professional — есть. Работать хорошо, НО не в "комманде".
В Team Suite — есть (есс-но ). Работать можно в "комманде".
Под работой в "комманде" подразумевается использование TFS.
В тестах VSTS — есть возможность публиковать результаты тестирования в репозитории, привязывая эти результаты к определенному билду.
Так же различия в настройки TFS. В TFS нет встроенного Unit-тестирования.
И что бы TFS тестировал, надо ставить VS на сервер компиляции. И вот тут уже никак нельзя настроить Professional, что б можно было работать с unit-тестами на TFS. Он выдает ошибки, не тестирует и т.д. Т.е. только VSTS. Хотя... возможно еще можно Developer-edition, но я ее не смотрел еще.
Здравствуйте, MatFiz, Вы писали:
MF>В качестве небольшого оффтопа. MF>Наткнулся на xUnit.Net — библиотека для юнит-тестирования от одного из авторов NUnit. MF>В ней есть много хороших идей.