我想使用Mockito对toEntity函数执行一个junit测试。
@Component
public class MyEntityTransform {
public Function<MyDTO , MyEntity> toEntity = new Function<MyDTO , MyEntity >() {
@Override
public MyEntity apply(MyDTO record) {
return new MyEntity();
}
};
}
@RunWith(MockitoJUnitRunner.class)
public class MyTest {
@InjectMocks
private MyService _classUnderTest;
@Mock
private MyEntityTransform myEntityTransform
@Before
public void setUp() {
Mockito.when(this.myEntityTransform.toEntity.apply(Mockito.anyObject())).thenReturn(...);
}
}
java.lang.NullPointerException org.mockito.exceptions.misusing.InvalidUseOfMatchersException:在此处检测到错误放置的参数匹配器:
->在com.example.mytest.setup(mytest.java:38)
不能在验证或短截之外使用参数匹配器。参数匹配器的正确用法示例:when(mock.get(anyInt())).ThenReturn(null);doThrow(新建RuntimeException()).When(mock).SomeVoidMethod(anyObject());验证(mock).someMethod(contains(“foo”))
你有什么建议吗?
您使用的是公共字段,这不是一个好主意。但无论如何,您要模拟的是函数,而不是MyEntityTransform的实例。所以你需要一些类似的东西
@InjectMocks
private MyService _classUnderTest;
@Mock // or @Spy
private MyEntityTransform myEntityTransform;
@Before
public void prepare() {
myEntityTransform.toEntity = mock(Function.class);
}
但坦率地说,我不会使用类型为function的公共字段。相反,我将使用公共方法:
public class MyEntityTransform {
public MyEntity toEntity(MyDTO record) {
return new MyEntity();
}
}
然后您可以模拟MyEntityTransform,并使其toEntity方法返回您想要的内容。如果需要传递一个函数来执行方法的操作,请使用方法引用:
collection.stream().map(myEntityTranform::toEntity)
如何使用
将一段文档传入BeautifulSoup 的构造方法,就能得到一个文档的对象, 可以传入一段字符串或一个文件句柄. from bs4 import BeautifulSoup soup = BeautifulSoup(open("index.html")) soup = BeautifulSoup("<html>data</html>") 首先,文档被转换成Unicode,并且HTML的实例
基础运用 Redis::set('user:profile:' . $id, "Swoft"); $userDesc = Redis::get('user:profile:' . $id); 你可以通过 Redis:: 调用任何 Redis 命令。Swoft 使用魔术方法将命令传递给 Redis 服务端,因此只需传递 Redis 命令所需的参数即可。示例: Redis::set('name',
引入 WeUI.css文件 利用 vue init mpvue/mpvue-quickstart my-project 初始化一个 mpvue 项目,然后在 /src/main.js 中引入 weui.css 由于是在小程序中使用,于是就直接使用了 weiui-wxss 中的样式文件,官方提供的是 weui.wxss,因此手动转成了 weui.css,然后引入即可。 这里提供 weui.css 一
将一段文档传入BeautifulSoup 的构造方法,就能得到一个文档的对象, 可以传入一段字符串或一个文件句柄. from bs4 import BeautifulSoup soup = BeautifulSoup(open("index.html")) soup = BeautifulSoup("<html>data</html>") 首先,文档被转换成Unicode,并且HTML的实例
目录 简介 定义资源 主流框架的默认适配 抛出异常的方式定义资源 返回布尔值方式定义资源 注解方式定义资源 异步调用支持 规则的种类 流量控制规则 熔断降级规则 系统保护规则 访问控制规则 热点规则 查询修改规则 定制规则推送方式 其它 API 业务异常统计 Tracer 上下文工具类 ContextUtil 指标统计配置 规则生效的效果 判断限流降级异常 Dashboard 实时监控 简介 Se
英文原文:http://www.phpconcept.net/pclzip/user-guide/18 PKZIP 压缩包的内部表示方式 每个 PKZIP 压缩包都由一个 PclZip 对象表示。 当使用 PclZip 对象创建一个 PclZip 压缩包时,需绑定压缩包的名字。 此时,PclZip 不会检查压缩包,也不可读,甚至压缩包还不存在。 require_once('pclzip.lib.p
使用步骤 使用JustAuth总共分三步(这三步也适合于JustAuth支持的任何一个平台): 申请注册第三方平台的开发者账号 创建第三方平台的应用,获取配置信息(accessKey, secretKey, redirectUri) 使用该工具实现授权登陆 使用方式 引入依赖 <dependency> <groupId>me.zhyd.oauth</groupId> <artifa