我有一个函数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