我有一个静态类,它包装了 winspool 中的一些 native 方法:

public static class WinSpool
{
     [DllImport("winspool.drv")]
     public static extern int OpenPrinter(string pPrinterName, out IntPtr phPrinter, IntPtr pDefault);
     ...
     //some more methods here
}

我想模拟它们进行单元测试,但找不到用于此的模式。 (每个人都避免使用静态类吗?)

最佳答案

是的,静态类通常是 frowned upon in the field of unit testing and mocking 。 AFAIK 没有开源模拟框架(例如 Rhino Mocks )支持静态类模拟

如果您绝对肯定地必须模拟静态类,那么恐怕您必须选择 Typemock ,它不是免费的。

关于.net - 模拟静态类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1823739/

10-10 02:46