首页 > 解决方案 > 如何在 web api 控制器中对 void 方法执行单元测试

问题描述

嗨,我在 webAPI 中有一个更新方法,这是一个 void 方法,我想对该方法执行单元测试。我该怎么做?

未找到任何解决方案。

下面是 webapi 控制器方法:-

[HttpPut]      
public void UpdatePushNotification(PushNotificationQueueBO pushnotificationqueueBO)
{
   PushNotificationQueueBO.UpdatePushNotificationQueue(pushnotificationqueueBO);
}

以下是上述方法的单元测试用例

[TestMethod]
public void UpdatePushNotificationQueue_ShouldUpdate()
{        
    var item = GetDemoPushNotificationQueue();      

    var controller = new PushNotificationQueueController();

    var result = controller.UpdatePushNotification(item) as ;

    Assert.IsNotNull(result);       
}

我想要我在之后写什么

var result = controller.UpdatePushNotification(item) as ???

标签: asp.net-mvcunit-testingasp.net-web-api

解决方案


您可以用不同的方式测试 void 函数,这取决于 void 方法的作用。例如,如果 void 方法增加其类的属性的数值,那么您可以在测试中使用该属性。在您的情况下,您的 void 方法执行此操作;

PushNotificationQueueBO.UpdatePushNotificationQueue(pushnotificationqueueBO);

首先,确定此操作的作用和影响。例如,如果此方法的操作对队列对象执行操作,那么您可以测试该对象作为 void 方法的结果。


推荐阅读