如何强制Microsoft Azure .NET API调用失败?

rha*_*n33 0 c# unit-testing azure azure-sdk-.net

我正在构建一个利用Microsoft Azure的应用程序,我正在使用Microsoft Azure .NET API调用来管理我的基础结构.我想进入测试阶段,我很好奇是否有办法强制调用失败其他提供虚假参数.

例如,我有以下代码片段可以启动VM.有没有办法让这个调用在给定正确的参数时自动失败?

using (ComputeManagementClient client = new ComputeManagementClient(new CertificateCloudCredentials(c_subscriptionId, MyCert)))
        {
            var status = client.VirtualMachines.Start(serviceName, deploymentName, vmName);
            if (status.Status == OperationStatus.Failed)
            {
                throw new MachineCreationException(status.Error.Code, null);
            }
        }
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Cam*_*ron 5

跟进我的(现已删除)评论,ComputeManagementClient实现IComputeManagementClient.(有关详细信息,请参阅MSDN.)一种简单的方法是存根IComputeManagementClient使用模拟框架的实例.(我使用Rhino Mocks.)

有很多资源可用于使用Rhino Mocks和其他模拟框架编写单元测试.