我有一个类型库的C#dll,它开发为由第三方Quartz应用程序调用。
这个C#dll创建了一个文件,我想在不使用Quartz的情况下测试创建文件。 关于最简单的方法是什么的建议是什么?
我尝试创建一个控制台应用程序并调用了dll,但是这个dll使用了很多其他的dll,并且每当这个dll调用其他dll时我都会收到恼人的(空引用)错误
答案 0 :(得分:2)
我认为你很难直接测试DLL而没有任何依赖。作为替代方案,我建议您使用U nit Testing对代码运行隔离测试。
我建议你看一下使用Visual Studio进行单元测试的介绍。 http://www.codeproject.com/Articles/391465/Creating-Unit-tests-for-your-csharp-code
答案 1 :(得分:1)
您应该开发一个Unit test项目。 但是,您必须mock / stub使用类库使用的依赖项。 为了有效地执行此操作,您需要“设计”您的类库以便于测试。
如果有好的建议,我可以推荐Roy Osherove的书“The art of Unit Testing”。
您可以尝试MStest(VS附带一些版本)或Nunit。
但是,如果您正在使用遗留或难以测试代码,特殊框架可以帮助您注入外部DLL等依赖项。一个例子是Typemock