VS2005单元测试中测试无返回值的方法

我们在VS2005中做单元测试的时候很可能会遇到测试一个无返回值的方法.那怎么样测试这个方法中的数据到底是对还是不对呢?

如果我们只是来测试这个无返回值的方法中是否有异常,就可以使用下面的方法.

        [TestMethod]
        
public   void  TestEX()
        {
            Exception excep
= null ;
            try
            {

                // 这里写测试的方法.

            }

            catch  (Exception ex)
            {

                  excep 
=  ex;

            }

            Assert.IsNull(excep,
" 测试失败! " );

        }
 
Mockito是一个流行的模拟框架,它允许你在单元测试创建和配置模拟对象。对于无返回值方法(void方法),Mockito提供了一些特定的方式来验证它们的行为。 在使用Mockito测试返回值方法时,你可以使用`doNothing()`、`doThrow()`和`doAnswer()`等方法。下面是一些基本的示例: 1. `doNothing()`:当你想要模拟void方法不执行任何操作时,可以使用`doNothing()`。这对于测试void方法没有副作用的情况非常有用。 ```java // 创建模拟对象 MyClass mockObj = mock(MyClass.class); // 当调用void方法时,不执行任何操作 doNothing().when(mockObj).myVoidMethod(); // 调用void方法 mockObj.myVoidMethod(); // 验证void方法被调用了一次 verify(mockObj, times(1)).myVoidMethod(); ``` 2. `doThrow()`:如果你需要测试void方法在执行时抛出异常的情况,可以使用`doThrow()`。 ```java // 创建模拟对象 MyClass mockObj = mock(MyClass.class); // 当调用void方法时,抛出指定的异常 doThrow(new RuntimeException("Method execution failed")).when(mockObj).myVoidMethod(); // 调用void方法(应该抛出异常) mockObj.myVoidMethod(); ``` 3. `doAnswer()`:如果你需要在void方法被调用时执行一些特定的逻辑,可以使用`doAnswer()`。 ```java // 创建模拟对象 MyClass mockObj = mock(MyClass.class); // 当调用void方法时,执行指定的逻辑 doAnswer(invocation -> { // 在这里编写void方法被调用时你想要执行的代码 System.out.println("Method was called"); return null; }).when(mockObj).myVoidMethod(); // 调用void方法 mockObj.myVoidMethod(); // 验证void方法被调用了一次 verify(mockObj, times(1)).myVoidMethod(); ``` 使用这些方法可以帮助你验证void方法的行为是否符合预期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值