我正在尝试使用 Microsoft Fakes 模拟 Azure RoleEnvironment API。问题是我找不到安排垫片/存根的方法,以便我可以在单元测试中练习代码。
例如,假设我有以下代码:
using Microsoft.WindowsAzure.ServiceRuntime;
// ...
Role role = RoleEnvironment.CurrentRoleInstance.Role;
int count = role.Instances.Count;
我将如何用 Fakes 模拟上述内容,以便我可以在单元测试中运行它?
到目前为止,我的尝试失败了,因为 RoleInstance 类似乎具有带有内部设置器的抽象属性,这阻止了我从 RoleInstance 派生类。这反过来又阻止了我为 RoleEnvironment.CurrentRoleInstance 提供 shim。
顺便说一句,我完全清楚过度依赖假货会被认为是有害的。问题是,我已经有了 RoleEnvironment 的包装器,以及生产和测试实现。我试图模拟的代码在我也想测试的生产实现中。