我只想为特定的 ErrorCode 处理 ManagementException 异常,并且在为其编写单元测试时遇到了麻烦。通常,我会编写测试,使其类似于以下内容:
Searcher search = MockRepository.GenerateMock<Searcher>();
// wrapper for ManagementObjectSearcher
...
search.Expect(s => s.Get()).Throw(new ManagementException());
...
但是,这并没有将 ErrorCode 设置为我特别想要的那个,实际上 ManagementException 没有设置该值的构造函数。
如何才能做到这一点?
(请注意,我使用 RhinoMocks 作为我的模拟框架,但我假设这是独立于框架的;这里我需要知道的是如何创建一个具有特定 ErrorCode 值的 ManagementException。我还在System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
网上找到了一些对方法的引用但这似乎无法公开访问)。