Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法解决Mockito单元测试中的持卡器问题

无法解决Mockito单元测试中的持卡器问题
EN

Stack Overflow用户
提问于 2017-05-15 20:37:10
回答 1查看 1.6K关注 0票数 1

我正在编写单元测试用例的控制器如下所示-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RequestMapping("${rest.base.path}/plugin")
public class Controller {
.
.
.
} 

单元测试用例被设置-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RunWith(MockitoJUnitRunner.class)
public class ControllerTest {

    @Autowired
    private MockMvc mvc;

    @InjectMocks
    Controller dataController;

    @Mock
    PluginService pluginService;


    @Test
    public void createFiles() throws Exception {
        this.mvc = MockMvcBuilders.standaloneSetup(dataController).build();
        mvc.perform(MockMvcRequestBuilders.get("/dc/plugin")
                .contentType(MediaType.APPLICATION_JSON));
    }

在运行单元测试时,它无法解析占位符${rest.base.path},因为我没有加载Spring。我试着设置System.setProperty("rest.base.path","/api"),但没有成功。我是否可以在不删除@RunWith(MockitoJUnitRunner.class)的情况下为这个占位符赋值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-15 22:49:19

这里的关键是自己填写占位符,调用StandaloneMockMvcBuilder.addPlaceholderValue

如文件所述:

在独立设置中,不支持嵌入在请求映射中的占位符值。此方法允许手动提供占位符值,以便能够解析它们。

因此,下面的简单片段应该适用于您

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class TestController {

private MockMvc mockMvc;

@Before
public void setup() {
    mockMvc = MockMvcBuilders.standaloneSetup(new Controller()).addPlaceHolderValue("rest.base.path", "dc")
            .setControllerAdvice(new ExceptionMapper())
            .setMessageConverters(new MappingJackson2HttpMessageConverter(new ExtendedObjectMapper())).build();
}

@Test
public void testGet() throws Exception {
    mockMvc.perform(get("/dc/plugin").accept(MediaType.APPLICATION_JSON_VALUE)).andExpect(status().isOk());
}}

当然,您可以实现同样的自动控制。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43992597

复制
相关文章
[Java]单元测试组件Mockito
Mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法。什么是不容易构造的对象呢?例如HttpServletRequest,需要在有servlet容器环境中创建获取。那不容易获取的对象呢?如一个JedisCluster,需要准备redis相关环境,然后设置进去等等。
宇宙无敌暴龙战士之心悦大王
2023/04/03
4.1K1
Mockito模拟进行单元测试
MOCK意思是模拟的意思,主要被用来进行数据的人工组织,不会真正地调用第三方服务器,类似redis,mysql等都不会调用,也不用关心数据底层是如何进行处理的,我们要做的只是将本单元的逻辑进行单元测试,验证数据的逻辑处理性,而其中mock较好的框架就是Mockito。
chinotan
2022/01/04
7K0
Mockito模拟进行单元测试
Mockito模拟进行单元测试
    MOCK意思是模拟的意思,主要被用来进行数据的人工组织,不会真正地调用第三方服务器,类似redis,mysql等都不会调用,也不用关心数据底层是如何进行处理的,我们要做的只是将本单元的逻辑进行单元测试,验证数据的逻辑处理性,而其中mock较好的框架就是Mockito。
chinotan
2019/07/15
9.5K0
Mockito模拟进行单元测试
Mockito + JUnit 单元测试实例
在日常 Java 开发中,一般都需要进行单元测试,而 Mock 测试则是单元测试中的重要方法之一。所谓 Mock 测试,就是指在测试过程中,对于一些不容易构造或难以获取的较为复杂的对象,用一个虚拟的对象来代表,从而方便测试的一种测试方法。其中,这个虚拟的对象就叫做 Mock 对象,最常见的就是用它来代表 Servlet 中 HttpServletRequest 对象,JDBC 中的 ResultSet 对象等。
村雨遥
2022/06/05
3.3K1
Mockito + JUnit 单元测试实例
SpringBoot - 单元测试利器Mockito入门
Mock 测试就是在测试过程中,创建一个假的对象,避免你为了测试一个方法,却要自行构建整个 Bean 的依赖链。
小小工匠
2021/08/17
17.1K1
SpringBoot - 单元测试利器Mockito入门
使用 Junit + Mockito 实践单元测试
相信做过开发的同学,都多多少少写过下面的代码,很长一段时间我一直以为这就是单元测试...
JMCui
2020/05/06
4.7K0
用过举手!SpringBoot 单元测试利器-Mockito
Mockito 是一种 Java mock 框架,他主要是用来做 mock 测试的,他可以模拟任何 Spring 管理的 bean、模拟方法的返回值、模拟抛出异常...等,在了解 Mockito 的具体用法之前,得先了解什麽是 mock 测试
JAVA葵花宝典
2020/03/11
4K0
MeterSphere单元测试-Mockito-Inline出场
在之前的测试旅程中,我们新建了测试计划并将测试用例纳入该计划来执行。以下是上述用例执行之后对添加测试计划的一个代码覆盖率。
Antony
2020/12/10
3.4K0
MeterSphere单元测试-Mockito-Inline出场
Java单元测试Mock工具Mockito介绍
Mock就是在测试过程中对于那些不容易构建的依赖进行模拟,以保证系统的测试流程可以正常运行,即生成一个和实际使用场景不一样的对象;
心平气和
2021/10/14
3.3K0
解决Android模拟器中修改IMSI后无法上网问题
0x00 前言 百度百科中对IMSI的介绍如下: 国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。其总长度不超过15位,同样使用0~9的数字。其中MCC是移动用户所属国家代号,占3位数字,中国的MCC规定为460;MNC是移动网号码,由两位或者三位数字组成,中国移动的移动网络编码(MNC)为00;用于识别移动用户所归属的移动通信网;MSIN是移动用
drunkdream
2018/07/06
3.6K0
解决CloudKit在Electron中无法登录的问题
最近CloudKit Web端授权页面更新后中使用了CMD模块化的东西,因此会检查require是否存在,本意是存在的话就会按照CMD的方式加载js模块,但是Electron中默认通过require来加载electron模块或者npm模块,这样问题就来了,Electron中的Cloudkit授权页面就会报错!
小刀c
2022/08/16
2.8K0
解决CloudKit在Electron中无法登录的问题
单元测试框架spock和Mockito应用
spock是一款基于Groovy语言的单元测试框架,其基础也是Java的Junit,目前最新版已经到了2.0,但对Groovy和响应的Java版本要求较高,具体信息参考:Spock 2.0 M1版本初探。
FunTester
2020/05/18
2.4K0
解决LNMP中MySQL无法远程连接问题
1、首先需要自己在phpmyadmin里添加一个用户 主机为% 的任意主机(也可以编辑已有的用户)
wo.
2021/06/15
3.1K0
解决IDEA中SpringBoot无法识别.yml文件的问题
IDEA关于SpringBoot中yml文件一写代码就无法运行问题的解决(yml文件无法被识别的解决)
代码伴一生
2021/09/19
7.3K0
解决Linux无法打开android模拟器问题
笔者最近重新安装了系统(deepin),但随之带来了一个问题,就是无法创建Android模拟器。其实这个问题我倒是在之前遇到过2次,很好解决,删除'yourPath'/Sdk/emulator/lib64/libstdc++.so就行了。 也可以链接一个本机的libstdc++:
JarvanMo
2018/09/06
2.7K0
解决Hadoop在浏览器中Browse Directory,无法下载文件的问题
把你linux中的hosts文件中的映射数据,复制到windows下的hosts中
手撕代码八百里
2020/07/28
2.6K0
解决Hadoop在浏览器中Browse Directory,无法下载文件的问题
解决 Github 无法登录的问题
不管你能不能访问,github就在那里,是因为我们网络在dns上找不到当前github 的地址导致的无法登录。
为为为什么
2022/08/05
9.5K0
解决 Github 无法登录的问题
解决浏览器设置代理IP无法上网的问题
大家都知道,在当今信息时代,互联网已经成为了我们生活必不可少的一部分。而浏览器作为我们上网的窗口,更是被广泛使用。有时候,我们会遇到一些问题,例如设置了代理IP后无法正常上网。那么该如何解决这个问题呢?别担心,本文将为您一一解答!
用户614136809
2023/09/15
1.7K0
解决EventBus中接收方法中无法更新UI的问题
问题 比如界面MainActivity向界面SecondActivity发送消息时,界面S调用接收方法,可以接收界面M发送的消息,输出台log可以打印出消息内容,但是无法更新UI。 MainActivity Button eventBus= (Button) findViewById(R.id.eventbus); RxView.clicks(eventBus) .throttleFirst(1,TimeUnit.SECONDS) .observeO
用户2032165
2018/06/05
1.6K0
点击加载更多

相似问题

无法解决Gradle中的Mockito依赖

26

如何解决导入org.mockito无法解析的问题?

20

AEM Mockito单元测试问题

15

单元测试的问题: Junit和Mockito框架

14

单元测试的问题- Junit - mockito - EntityManager - createNativeQuery

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文