Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >SpringRunner无法检测配置

SpringRunner无法检测配置
EN

Stack Overflow用户
提问于 2018-09-11 02:40:02
回答 2查看 34.6K关注 0票数 9

我有一个spring引导应用程序,它试图创建单元测试用例。下面是我试图运行的代码,我没有任何配置文件(只使用注释),所以加载所有配置的主类是ElastSearchBootApplication类。由于某种原因,我看到了下面的错误。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@ComponentScan(basePackages = "com.somename")
@SpringBootApplication
@EnableScheduling
public class ElastSearchBootApplication {

    private static final Logger LOG = LoggerFactory.getLogger(ElastSearchBootApplication.class);

    public static void main(String[] args) {
        SpringApplication.run(ElastSearchBootApplication.class, args);
    }

    @Autowired
    private ElastSearchLogLevel logsSearch;

    @Scheduled(fixedRate = 120000)
public void scheduledSearchLogs() {
        ...

考试班:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = ElastSearchBootApplication.class)
public class LogSearchTest {

    @Mock
    private RestHighLevelClient client;
    @Mock
      private ExecutorService ALERT_POOL;

    @Before
    public void setUp() throws Exception {
          client = mock(RestHighLevelClient.class);
        ALERT_POOL = mock(ExecutorService.class);

        try {
            when(client.search(anyObject())).thenReturn(getResponse());
        } catch (Exception e) {
            // I see NullPointerException but both the instances are available here
            e.printStackTrace();
        }
        doNothing().when(ALERT_POOL.invokeAll(anyObject()));
    }

在尝试运行spring启动测试时,我看到了以下错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
org.springframework.boot.test.context.SpringBootTestContextBootstrapper buildDefaultMergedContextConfiguration
INFO: Neither @ContextConfiguration nor @ContextHierarchy found for test class [com.somename.search.LogSearchTest], using SpringBootContextLoader
org.springframework.test.context.support.AbstractContextLoader generateDefaultLocations
INFO: Could not detect default resource locations for test class [com.somename.search.LogSearchTest]: no resource found for suffixes {-context.xml, Context.groovy}.
org.springframework.test.context.support.AnnotationConfigContextLoaderUtils detectDefaultConfigurationClasses
INFO: Could not detect default configuration classes for test class [com.somename.search.LogSearchTest]: LogSearchTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
  1. 我看到@SpringBootTest用于集成测试,所以我可以将它用于单元测试吗?如果删除它,则会得到另一组类似的异常。如果不使用SpringBootTest,我会更感兴趣地运行这个测试案例。
  2. 为什么我的测试用例说缺少一些配置。在线上的示例讨论了我没有的xml文件。我在这里错过了什么?
  3. 我是否可以从fixedRate动态传递Environment的值,并将其放在@Scheduled(fixedRate = ${some.value.defined})

更新

我可以运行测试,但没有适当的命令。理想情况下,我希望setUp首先运行。但它的运行第二。另外,when(client.search(anyObject())).thenReturn(getResponse());的线路失败了,我不明白原因.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-11 03:01:39

您必须将注释@ContextConfiguration添加到您的测试类中,以指定配置文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@ContextConfiguration(classes = ElastSearchBootApplication.class)
票数 20
EN

Stack Overflow用户

发布于 2018-09-11 04:06:22

试试这个:

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

  @MockBean
  private RestHighLevelClient client;
  @MockBean
  private ExecutorService ALERT_POOL;

  @Before
  public void setUp() throws Exception {
   try {
        when(client.search(anyObject())).thenReturn(getResponse());
    } catch (Exception e) {
        // I see NullPointerException but both the instances are available here
        e.printStackTrace();
    }
    doNothing().when(ALERT_POOL.invokeAll(anyObject()));
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52274066

复制
相关文章
你无法检测到触摸屏
无论你可能会怎么想,目前,在浏览器里可靠地检测当前的设备是否有一个触摸屏是不可能的。
疯狂的技术宅
2019/03/27
2K0
Hbuilder/HbuilderX 无法检测到模拟器
夜神模拟器 端口号 :62001 海马玩模拟器 端口号:26944 网易mumu模拟器端口号:7555 天天模拟器 端口号:6555 AndroidStudio自带模拟器 端口号: 5554
超级小可爱
2023/02/20
6210
Flask使用migrate迁移后,无法检测到models,无法生成表
在 Flask 项目中,使用 flask_migrate 管理数据库中,依次使用如下命令,对数据库和表进行生成和迁移:
Lokinli
2023/03/09
1K0
Flask使用migrate迁移后,无法检测到models,无法生成表
SUSE 下 LNMP 环境配置无法成功
首先我根据官方文档https://cloud.tencent.com/document/product/213/2127 一步一步的操作着直到启动 MySQL 服务。输入命令:service mysqld start ;到了这一步,死活不成功,一直提示Redirecting to /bin/systemctl start mysqld.service
用户4839808
2019/03/20
1.6K0
SUSE 下 LNMP 环境配置无法成功
VS配置PCL“无法解析外部符号”
报错说明可能出现在vtk 和pcl_visualization 的lib上。在依赖库中添加pcl_visualization.lib 或者在.cmake文件中添加visualization重新编译,如下:
全栈程序员站长
2022/09/13
1.7K0
VS配置PCL“无法解析外部符号”
Hadoop配置datanode无法连接到master
初次在VM上配置Hadoop,开了三台虚拟机,一个作namenode,jobtracker
星哥玩云
2022/06/30
8600
Hadoop配置datanode无法连接到master
CDN配置后无法获取真实ip
这篇文章最后修改于 2022-06-10 日,距今已有 166 天,请注意甄别内容是否已经过时!
羽翼博客
2022/11/28
4.8K0
CDN配置后无法获取真实ip
最新报告:71%的AI检测器无法检测出ChatGPT撰写的钓鱼邮件
近日,邮件安全公司Egress发布的《2023年网络钓鱼威胁趋势报告》对迄今为止的流行网络钓鱼趋势进行了分析。报告回顾了今年最常见的钓鱼主题,并预测了接下来的发展趋势,同时研究了网络犯罪分子用于绕过边界防御机制的流行混淆技术,以及聊天机器人对网络钓鱼威胁的影响。
FB客服
2023/10/24
5180
最新报告:71%的AI检测器无法检测出ChatGPT撰写的钓鱼邮件
2021版idea_idea无法配置tomcat
前期准备 IDEA、JDK、Tomcat请先在自己电脑上装好 好么~ 博客图片为主 请多看红框框
全栈程序员站长
2022/11/17
6000
2021版idea_idea无法配置tomcat
[PHP 安全] pcc —— PHP 安全配置检测工具
在 PHP 安全测试中最单调乏味的任务之一就是检查不安全的 PHP 配置项。作为一名 PHP 安全海报的继承者,我们创建了一个脚本用来帮助系统管理员如同安全专家一样尽可能快速且全面地评估 php.ini 和相关主题的状态。在下文中,该脚本被称作“PHP 安全配置项检查器”,或者 pcc。
conanma
2021/12/05
8810
Linux常用配置及硬件检测命令
一些比较常见的linux命令,主要用于检测服务器的配置和硬件信息,包括:操作系统、CPU、内存、硬盘分区、系统时间、负载、网络相关、进程、用户、开关机、启动等方面,适用于主流操作系统,常见的centos、ubuntu、debian等。
陌涛
2019/05/22
2.7K0
Linux常用配置及硬件检测命令
一些比较常见的linux命令,主要用于检测服务器的配置和硬件信息,包括:操作系统、CPU、内存、硬盘分区、系统时间、负载、网络相关、进程、用户、开关机、启动等方面,适用于主流操作系统,常见的centos、ubuntu、debian等。
用户1700948
2018/12/26
2.6K0
Mac下 Visual VM 无法检测到本地的Java进程
我下载的是VisualVM1.4 下载完成之后,在左边栏Local哪里只有VisualVM自己的进程。
翎野君
2023/05/12
4210
Mac下 Visual VM 无法检测到本地的Java进程
微服务架构之Spring Boot(六十五)
要测试Spring WebFlux控制器是否按预期工作,您可以使用 @WebFluxTest 注释。@WebFluxTest 自动配置Spring WebFlux基础架构,并将扫
用户1289394
2022/05/23
8490
无法应用原保存的显示器配置
今天小婷儿给大家分享的是无法应用原保存的显示器配置。 无法应用原保存的显示器配置 Ubuntu 无法应用原保存的显示器配置 rm .config/monitors.xml,重启电脑即可 公众号:xia
AiDBA宝典
2019/09/29
1.5K0
无法应用原保存的显示器配置
ChatGPT下架官方检测工具,承认AI文字无法鉴别
官方对此没有公开回应,几天后才有人找到一则简短说明,藏在半年前工具发布的博客页面中。
量子位
2023/08/05
3800
ChatGPT下架官方检测工具,承认AI文字无法鉴别
tke集群nginx-ingress无法reload全局配置
使用nginx-ingress的时候,我们需要加一些nginx的全局配置,一般都是加到nginx-ingress-controller启动参数指定的configmap下
聂伟星
2022/07/05
1.4K1
PHPStorm配置PHP_CodeSniffer代码检测规范
环境:windows 10 版本:PHPStorm2019.1 安装phpcs composer global require "squizlabs/php_codesniffer=*" composer安装之后 如出现 Permission denied 字样无需担心。 安装之后会在C:\Users\{user name}\AppData\Roaming\Composer\vendor\bin出现4个文件 image.png PHPStorm设置 File->Settings image.png
用户2475223
2019/12/17
1K0
PHPStorm配置PHP_CodeSniffer代码检测规范
一个号称完全无法检测到的Linux后门
确实,Ngrok挖矿僵尸网络在过去两年中一直都非常活跃,但不同的是,新活动主要针对配置错误的Docker服务器,并利用它们在受害者的基础架构上运行带有加密矿工的恶意容器。
FB客服
2020/08/03
9110
点击加载更多

相似问题

无法解析junit的符号“SpringRunner”

12

不兼容类型,无法导入springrunner类。

113

SpringRunner vs SpringBootTest

30

无法将SpringRunner.class解析为类型

117

JMeter JUnit SpringRunner问题

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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