MbUnit - тестовая зависимость, когда тесты находятся в разных сборках, не работает при использовании атрибута DependsOn - PullRequest
0 голосов
/ 13 марта 2011

У меня странная проблема с атрибутом DependsOn.У меня есть тест A, определенный в сборке ASSM_A, и тест B, определенный в ASSM_B (оба являются тестовыми приборами).Когда я определяю зависимость теста B от теста A:

[TestFixture]
[DependOn(ASSM_A_NAMESPACE.A)]
public class B
{
    // my code .....
}

все работает и компилируется в .NET (VS 2008, версия MbUnit = 3.2.0.0, версия Gallio = 3.2 build 601).

Но когда я загружаю обе сборки ASSM_A и ASSM_B в Gallio и запускаю тест B (который зависит от теста A), я получаю следующее сообщение:

[warning] Was unable to resolve a test dependency.

Когда оба теста находятся в одной сборке - зависимостьработает как положено.

В чем может быть проблема?Может быть, я должен определить свой собственный атрибут зависимости в случае, если тесты находятся в разных сборках?Если да, может кто-нибудь объяснить, как это сделать?

Большое спасибо!

PS: Кодирование выполняется на C #.

PSS: читать о AssemblyDependsOn, но не могуиспользуйте его, так как он старый MbUnit. Прочитайте о DependsOnAssembly (который в основном совпадает с AssemblyDependsOn), но не смог найти int в версии MbUnit, которую я использую.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2012

У вас действительно должны быть все ваши тесты в одной сборке (и ваш рабочий код в другой сборке).Это делает все тривиальным, включая зависимости и исключая тестовый код из производственного кода.

DependsOn отлично работает с тестами в одной сборке, поэтому я предлагаю вам перейти на это.

0 голосов
/ 24 февраля 2012

Короткий ответ: это не сработает.

К сожалению, из-за способа загрузки / изоляции сборок (по умолчанию, в отдельном процессе) было бы довольно сложно добиться того, что выищите.

Лучшее сообщение об ошибке было бы хорошо.

...