我有以下的方法,我想写一个单元测试:单元测试这种方法有可能吗?
using StaticClass; // writen by some one else, have a dll
namespace Test
{
Class TestClass
{
public void DoSomething(string param1)
{
List<string> = StaticClass.GetList(param1)
// sort the list and do other studd here
}
}
}
当我不知道如何写的DoSomething的方法测试,这依赖于另一个类的静态方法。该方法的输出取决于该机器上的数据库,环境和其他几个因素。所以如果两台机器上的数据库不同,相同的方法会得到不同的结果。我所知道的是,GetList会返回一些值,并且该方法可能会或可能不会由该类的创建者进行单元测试。
我该如何测试这种方法?是否有可能这样说,每当调用StaticClass.Getlist方法返回我在我的程序中创建的自定义List<String>
?我正在写关于C#的测试。
谢谢,
好吧。记住,OP,你试图测试你的方法,而不是'StaticClass.GetList()'。你的方法依赖于GetList()的签名(接受一个字符串,返回一个'List')(think接口),而不是该签名的特定实现(StaticClass.GetList())。 –
2010-08-06 19:54:32