2011-03-13 39 views
0

我有DependsOn属性这个奇怪的问题。 我有ASSM_B中定义的ASSM_A和测试B中定义的测试A(都是测试夹具)。 当我定义测试B对试验A中的依赖性:MbUnit - 当使用DependsOn属性时,测试在不同程序集中时的测试依赖性不起作用

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

一切正常并且在.NET编译(VS 2008,MbUnit的版本= 3.2.0.0,加利奥版本= 3.2建立601)。

但是,当我加载加利奥两个组件ASSM_A和ASSM_B和运行测试B(其取决于测试A)我得到以下信息:

[warning] Was unable to resolve a test dependency. 

当两个测试是在相同的组件 - 依赖性作品正如它应该的那样。

可能是什么问题?也许我应该定义我的自定义依赖项属性,以防测试在不同的程序集中?如果是这样,任何人都可以解释如何这样做?

非常感谢!

P.S .:编码是用C#完成的。

P.S.S:阅读关于AssemblyDependsOn,但因为它是老MbUnit的 阅读有关DependsOnAssembly(这基本上是一样的AssemblyDependsOn),但无法找到MbUnit的版本INT,我使用不能使用它。

回答

0

简短的回答是,那是行不通的。

不幸的是,由于组件被加载/隔离的方式(默认情况下,在一个单独的进程中),很难实现你要找的东西。

更好的错误信息会很好。

0

你应该在一个装配中真正拥有所有的测试(并且你的生产代码在不同的装配中)。这使得一切都变得微不足道,包括依赖性和从生产代码中排除测试代码。

DependsOn在单个程序集内的测试中正常工作,所以我建议您切换到此。

相关问题