Можно ли выполнить код перед выполнением всех тестов? - PullRequest
1 голос
/ 20 января 2010

Я пишу интеграционные тесты. Теперь перед запуском тестов я хочу настроить базу данных с исходными данными. Для этого я создал отдельный проект, который выполняется до выполнения тестового проекта (с использованием файла MSBuild). Но Я хочу объединить код установки БД в testproject и выполнить его до начала выполнения каких-либо тестов. Я использую MBunit 3. Возможно ли это?

Ответы [ 3 ]

1 голос
/ 25 января 2010

Вы можете объявить класс с атрибутом [AssemblyFixture] ; и несколько методов в этот класс с атрибутами [FixtureSetUp] и [FixtureTearDown] для определения методов установки и удаления на уровне сборки.

[AssemblyFixture]
public class MyAssemblyFixture
{
   [FixtureSetUp]
   public void SetUp()
   {
      // Code to be run before any test fixture within the assembly are executed.
   }

   [FixtureTearDown]
   public void TearDown()
   {
      // Code to be run after all test fixture within the assembly are executed.
   }
}

Фактически синтаксис аналогичен тому, что обычно делается на уровне тестового набора с хорошо известными [TestFixture] , [SetUp] и [TearDown ] атрибуты.

0 голосов
/ 20 января 2010

MBunit не имеет чрезмерной документации, но быстрое поиск в Google дает этой статье , из которой я могу сказать, что MBUnit имеет атрибуты, подобные NUnit [SetUp] и [TearDown]. Методы, украшенные таковыми, выполняются до и после каждого теста соответственно.

0 голосов
/ 20 января 2010

Как правило, тестовые среды имеют атрибуты метода, позволяющие выполнять код перед каждым тестом и после каждого теста, а также перед тестовым прогоном и после тестового прогона. Я не знаю атрибутов mbunit, так как не использовал его.

Проверьте эту ссылку ... Я уверен, что mbunit будет иметь атрибуты, похожие на nunit

http://blogs.msdn.com/nnaderi/archive/2007/02/01/mstest-vs-nunit-frameworks.aspx

...