How to unit test static class Rhino mocks
我有遗留代码,我需要在不更改的情况下进行单元测试。某些部分不可测试。我正在使用 Rhinomocks,我被困在如何创建静态类的模拟并验证对它的任何期望。这是示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public static class BadGuy { private static event Badevent; } public class GoodGuy { public GoodGuy() { BadGuy.Badevent += GoodGuyBadluck; } private GoodGuyBadluck() { .... } } |
RhinoMocks 不会模拟静态类。如果您可以抽象静态类,以便它们位于可模拟类中,那么您可以使用 Microsoft Moles、TypeMock 或 JustMock 等框架来模拟它们。
如果您可以从单元测试中排除静态类,您可以创建一个假实现并插入您自己的Stubbing来监控活动。像这样的东西:
1 2 3 4 5 6 7 8 9 10 11 | /// /// My fake implementation /// public static class BadGuy { private static event Badevent; public static void TriggerEvent() { Badevent(); } } |