我有一个函数GetAssemblytree(Assembly assembly)
,它接受一个程序集并以递归方式返回给定程序集引用的所有程序集。
我没有得到如何为此编写单元测试功能。
任何建议都将受到赞赏。
答案 0 :(得分:2)
C#Assembly是一个抽象类。你可以简单地扩展它,并为测试提供一个具体的虚拟类的虚拟实现,然后一切都自然起作用。
答案 1 :(得分:0)
你不应该为它编写 单元测试,你应该写几个,并使每个测试尽可能简单。
首先,确保您清楚地了解您希望您的功能做什么。使每个要求尽可能清晰,简单和原子化。然后为每个需求定义测试。
你可以像这样定义你的测试(只是粗略的草图):
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...
要记住的主要经验法则是保持简单,并清楚地了解每个测试要检查的内容。一旦明确了目标,自己编写测试就不会那么难了。