MbUnit против Nunit - PullRequest
       23

MbUnit против Nunit

11 голосов
/ 09 сентября 2010

Я читал, что MbUnit - это Nunit на стероидах, но я не понимаю, почему.Из того, что я прочитал здесь, я здесь, что Nunit является более популярным, чем MbUnit.Одна из основных причин заключается в том, что он имеет свободный интерфейс.Это единственная причина?

Почему я должен предпочесть MbUnit, а не Nunit, или наоборот?Спасибо!

Ответы [ 4 ]

14 голосов
/ 10 сентября 2010

Несмотря на то, что NUnit теперь включает в себя самые популярные расширенные функции MbUnit, MbUnit все еще более многофункциональн, например:

Свободные интерфейсы могут быть хорошими, но в целом они не добавляют никаких новых функций, они просто представляют вещи программисту по-другому.

NUnit более популярен, потому что он был там первым (следовательно, больше статей о нем в Интернете и о лучших инструментах), а также потому, что большинство программистов не заботятся или не нуждаются в расширенных функциях, которые предлагает MbUnit.

9 голосов
/ 09 сентября 2010

NUnit начинался как порт JUnit и существует уже давно. MBUnit появился после свершившегося факта и принес «генеративное» модульное тестирование. Это означает, что он может пройти один модульный тест и создать несколько из него. Одним из способов сделать это является атрибут [RowTest].

Если типовой модульный тест не принимает параметров, RowTest принимает параметры и генерирует из них несколько тестов. Я считаю, что в NUnit теперь есть концепция RowTest.

[Test]
[Row(1,1,2)]
[Row(2,2,4)]
[Row(1,2,3)]
public void X_plus_Y_equals_Z(x,y,z)
{
  Assert.AreEqual(z, x+y);
}

Это приведет к запуску 3 тестов в тестовом средстве. Есть также функции для отката транзакций базы данных.

NUnit имеет свободный интерфейс для утверждений, что приятно, но на самом деле не является преимуществом. NUnit, вероятно, также имеет некоторую лучшую поддержку инструментов (тестовый инструмент Resharper работает с NUnit из коробки, но требует плагинов для MBUnit).

В конце концов, вы должны выбрать один фреймворк и пойти с ним. Навыки, которые вы приобретаете, очень легко переносятся из одной среды в другую.

0 голосов
/ 07 июля 2015

Плагин MbUnit доступен только для Re # 6 (без лишних манипуляций). Поэтому, если вы используете VS 2012 или 2013, вам придется использовать более свежую версию Re #, которая поддерживает NUnit из коробки.

Также похоже, что MbUnit и Gallio больше не поддерживаются.

0 голосов
/ 28 мая 2014

Просто примечание для тех, кто занимается исследованиями:

С сайта MbUnit: «Gallio и MbUnit в настоящее время находятся в состоянии перерыва».

Учетная запись MbUnit GitHub показывает крайне редкую историю коммитов в последнее время.

...