2011-03-13 65 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在單個程序集內的測試中正常工作,所以我建議您切換到此。

相關問題