我有一個函數GetAssemblytree(Assembly assembly)
,它需要一個程序集並以遞歸方式返回給定程序集引用的所有程序集。未知如何編寫函數的單元測試函數
我沒有得到如何編寫單元測試函數。
任何建議將不勝感激。
我有一個函數GetAssemblytree(Assembly assembly)
,它需要一個程序集並以遞歸方式返回給定程序集引用的所有程序集。未知如何編寫函數的單元測試函數
我沒有得到如何編寫單元測試函數。
任何建議將不勝感激。
C#程序集是一個抽象類。你可以簡單地擴展它,並且爲了測試而虛擬實現一個具體的虛擬類,然後一切都自然而然地起作用。
看起來像一個解決方案,但沒有得到它:(..說我喜歡這個 - 類ConcreateAssembly:Assembly {List
你當然可以做foreach(程序集中的程序集)GetAssemblytree(程序集); –
okie ..可能是我得到它,但我的concreateassembly對象如何在運行時引用其他程序集? – user3359453
你不應該寫a它的單元測試,你應該寫幾個,並儘可能簡單。
首先,確保你清楚你想要你的功能做什麼。使每個要求儘可能清晰,簡單和原子化。然後爲每個需求定義測試。
你可以定義你的測試有點像這樣(只是一個粗略的草圖):
public void Should_return_null_if_assembly_does_not_reference_anything(){
var result = YourFunctionToTest(yourEmptyDummyAssembly);
...
// Check result in a suitable way
}
public void Should_return_expected_assemblies(){
var result = YourFunctionToTest(otherDummyAssembly);
...
// Check result in a suitable way
}
// etc...
拇指要記住的主要原則,是讓事情變得簡單,並且是究竟是什麼真正明確你想檢查每個測試。一旦你清楚你的目標,自己寫測試並不會那麼困難。
創建一個虛擬程序集,引用一些其他程序集,並引用那些用於您的單元測試的程序集。 –
@ user ..什麼是您正在使用的單元測試框架? –
@Avinash - 視覺工作室單元測試 – user3359453