您将如何测试使用ServerManager的此类方法。显然你不能模拟ServerManager。而这种方法是无效的。有解决方法吗?一个事件应该测试这种方法吗?谢谢!
public void AppPoolRemoval(string poolName)
{
using (var serverManager = new ServerManager())
{
var oldPool = serverManager.ApplicationPools[poolName];
if (oldPool != null)
{
oldPool.Delete();
serverManager.CommitChanges();
}
}
}
答案 0 :(得分:1)
无法单独对此代码进行单元测试。你最好为它编写一个集成测试,你可以在那里测试它。
你可以在界面背后抽象这个逻辑:
public interface IWebServer
{
void AppPoolRemoval(string poolName);
}
然后单独测试依赖于此的代码。但是与真实ServerManager
相关的实际实现无法进行单元测试。