没有得到如何编写我的函数的单元测试功能

时间:2014-02-27 08:04:18

标签: c# unit-testing

我有一个函数GetAssemblytree(Assembly assembly),它接受​​一个程序集并以递归方式返回给定程序集引用的所有程序集。

我没有得到如何为此编写单元测试功能。

任何建议都将受到赞赏。

2 个答案:

答案 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...

要记住的主要经验法则是保持简单,并清楚地了解每个测试要检查的内容。一旦明确了目标,自己编写测试就不会那么难了。