关键词:Verifications 想验证被Mock的类的某个方法是否被调用
单元测试类清单
/**
* 演示验证被Mock的类的某个方法是否被调用
* @sina weibo regbin@tom.com
*/
public class ServiceTest {
@Mocked
Remote remote;
@Test
public void testDoFuncYes() {
Service service = new Service();
service.doFunc(true, 1);
new Verifications() {
{
remote.doSomething(anyInt);//表示这个方法会被执行
//remote.doSomething(1);//表示这个方法会被执行,而且参数是1;在当前case,会通过
//remote.doSomething(2);//表示这个方法会被执行,而且参数是2;在当前case,这个会不被通过
}
};
}
@Test
public void testDoFuncNo() {
Service service = new Service();
service.doFunc(false, 1);
new Verifications() {
{
remote.doSomething(anyInt);
times = 0;//调用次数,0表示上面方法不会被调用
}
};
}
private static class Remote {
public void doSomething(int a) {
}
}
private static class Service {
private Remote remote = new Remote();
public void doFunc(boolean flag, int a) {
if (flag) {
remote.doSomething(a);
}
}
}
}
小结
有时候我们想验证某个类的方法是否被正确调用的时候,上述Verifications就派上用场了
分享到:
相关推荐
<br>saaj.jar<br>serializer-2.7.0.jar<br>servlet.jar<br>servlet-api.jar<br>slf4j-api-1.3.1.jar<br>slf4j-simple-1.3.1.jar<br>smtp.jar<br>soap.jar<br>spring.jar<br>spring-mock.jar<br>standard.jar<br>...
导入Maven依赖与junit一起工作 < dependency> < groupId>com.didiglobal.thriftmock</ groupId> < artifactId>thrift-mock-server4junit</ artifactId> < version>1.0.2</ version> </ dependency> 在没有junit的...
直接配置即可.<br><br>以下是一些相关说明.<br><br><br>数据库脚本<br>create table HUBO_USER<br>(<br> ID VARCHAR2(32) not null,<br> NAME VARCHAR2(100),<br> BIRTHDAY DATE,<br> PASSWORD VARCHAR2(100),<br> ...
aop.jar<br>spring-beans.jar<br>spring-context.jar<br>spring-core.jar<br>spring-dao.jar<br>spring-hibernate.jar<br>spring-jdbc.jar<br>spring-mock.jar<br>spring-orm.jar<br>spring-remoting.jar<br>spring-...
RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源 # 注意事项 ### 1.maven 依赖 ```maven <!-- springCloud 主要用于jar包的版本...
这里,`when()`方法定义了当`Math.random()`被调用时应返回的值,`thenReturn()`指定了返回的具体值。 **注意事项** 1. PowerMock的使用可能会增加测试的复杂性,因为它涉及到字节码操作,可能导致测试执行速度变慢...
可以用来Mock JAVA代码中的静态方法
<artifactId>jmockit</artifactId> <version>1.47</version> <scope>test</scope> </dependency> --> </dependencies> ``` 这里,我们添加了 JMock 的 JUnit4 版本。如果你的项目使用 JUnit5,你需要添加对应的 ...
`when(...).thenReturn(...)`语句定义了`userRepository.getUserById`方法的行为,当被调用时返回一个预设的`User`对象。最后,`Assert.assertEquals`验证了`userService.getUserById`的返回值是否符合预期。 在...
如果需要记录某个方法被调用的次数,可以使用`Callback`方法。 ```csharp void AddCall(); var customer = new Mock<ICustomer>(); int iCount = 0; customer.Setup(p => p.AddCall()).Callback(() => ...
[CDATA[' + point + ']]></wps:LiteralData></wps:Data></wps:Input></wps:DataInputs><wps:ResponseForm><wps:RawDataOutput><ows:Identifier>output</ows:Identifier></wps:RawDataOutput></wps:ResponseForm></...
在此示例中,我们首先使用`@Mocked`注解创建了一个`UserRepository`的mock对象,并使用`@Tested`注解指定了被测试的`UserService`类。接下来,我们定义了一个`Expectations`块来记录预期行为,然后调用`userService....
在IT行业中,Mock平台是一种非常重要的工具,它允许开发者在真实环境尚未准备好或者不适宜进行测试时,模拟接口数据,以便于快速进行开发和测试。本篇将详细讲解如何使用Spring Boot与MyBatis框架结合,对Mock平台...
Dear 'Ajax in Action' Readers,<br><br>This zip file gathers together the source code for the... Your feedback is welcome.<br><br>Regards,<br><br>Dave Crane<br>Gloucestershire UK<br>November 2005 <br><br>
2. **创建DbContext的Mock**:创建一个DbContext的Mock对象,使用Moq的`Mock<DbContext>`构造函数。例如: ```csharp var mockDbContext = new Mock<MyDbContext>(); ``` 其中,`MyDbContext`是你的自定义...
这个框架的作用 在自动测试中,针对dubbo接口进行mock的框架 ... <artifactId>dubbo-easy-mock</artifactId> <version>1.1.0</version> <exclusions> <exclusion> <groupId>org.apache.dubbo</grou
例如,你可以设置当某个方法被调用时返回特定值,或者在特定条件下抛出异常。 2. **基于状态的 Mocking**: 在基于状态的测试中,我们关注的是对象的内部状态,比如它的属性值。JMockit 的 `Mockup` 类用于此类...
然后编写测试方法,调用被测试对象的方法,并验证Mock对象是否按预期工作: ```java @Test public void testMyMethod() { String result = myClass.myMethod(); assertEquals("Mocked Result", result); } ``...