gpt4 book ai didi

azure - 使用 Microsoft Fakes 模拟 Azure RoleEnvironment API

转载 作者:行者123 更新时间:2023-12-01 09:17:10 24 4
gpt4 key购买 nike

我正在尝试使用 Microsoft Fakes 模拟 Azure RoleEnvironment API。问题是我找不到安排垫片/ stub 的方法,以便我可以在单元测试中执行代码。

例如,假设我有以下代码:

using Microsoft.WindowsAzure.ServiceRuntime;
// ...
Role role = RoleEnvironment.CurrentRoleInstance.Role;
int count = role.Instances.Count;

我如何使用 Fakes 模拟上述内容,以便可以在单元测试中运行它?

到目前为止,我的尝试失败了,因为 RoleInstance 类似乎具有带有内部 setter 的抽象属性,这阻止我从 RoleInstance 派生类。这反过来又阻止我为 RoleEnvironment.CurrentRoleInstance 提供填充程序。

顺便说一句,我完全意识到过度依赖假货可能会被认为是有害的。问题是,我已经有了 RoleEnvironment 的包装器,以及生产和测试实现。我试图模拟的代码位于我也想测试的生产实现中。

最佳答案

不幸的是,我认为今天不可能将这段代码与 Microsoft Fakes 隔离。通常,您需要填充 RoleEnvironment.CurrentRoleInstance 属性以返回 stub RoleInstance,该 stub RoleInstance 返回 stub Role。我们可以填充 CurrentRoleInstance 属性。但正如您所指出的,RoleInstance 和 Role 都是具有内部构造函数的抽象类,我们无法使用当前版本的 Fakes 对其进行 stub 。

关于azure - 使用 Microsoft Fakes 模拟 Azure RoleEnvironment API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12542539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com