【关于使用SpringJUnit4ClassRunner单元测试报错问题】

2023-05-16

【关于使用SpringJUnit4ClassRunner单元测试报错问题】

今天单元测试如下的代码的时候发现项目老是报错:


package com.yhb.jsxn.service;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.yhb.jsxn.entity.AccountsPastTable;


@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:applicationContext*.xml"})
public class TestService {
    protected static final Logger LOG = LoggerFactory.getLogger(TestService.class);
    @Autowired
    private AccountsPastTableService accountsPastTableService;
    @Test
    public void test() {
        HashMap<String, String> parms = new HashMap<String,String>();
        parms.put("userId", "BB7534E3-4F35-4FF1-B930-CCC962C45DEF");
        List<AccountsPastTable> list = accountsPastTableService.selectByUserIdAndTime(parms);//升序排列
        int countDay = 0;//连续天数
        int times = 0;//抽奖次数
        Calendar calendar = Calendar.getInstance();
        for (int i = 0; i < list.size() - 1; i++) {
            calendar.setTime(list.get(i).getPastTime());
            int before = calendar.get(Calendar.DAY_OF_YEAR);
            calendar.setTime(list.get(i+1).getPastTime());
            int after = calendar.get(Calendar.DAY_OF_YEAR);
            if ((after - before) == 1) {
                countDay++;
                if (countDay == 3) {
                    times++;
                    countDay-=3;
                }
            }else {
                countDay = 0;
            }
        }
        System.out.println("可抽奖次数" + times);        
        
    }

}  
统计抽奖次数

java.lang.IllegalStateException: Failed to load ApplicationContext
at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:99)
at org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:122)
at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:105)
at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:74)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:312)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:288)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:284)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:88)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [C:\temp\p2p_yhb\build\classes\com\yhb\jsxn\apppush\android\AndroidBroadcast.class]; nested exception is org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: file [C:\temp\p2p_yhb\build\classes\com\yhb\jsxn\apppush\android\AndroidBroadcast.class]; nested exception is java.lang.IllegalArgumentException
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:290)
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:242)
at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:84)
at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:73)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1438)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1428)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:185)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:139)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:108)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:243)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadBeanDefinitions(AbstractGenericContextLoader.java:233)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:117)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:60)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:100)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:248)
at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContextInternal(CacheAwareContextLoaderDelegate.java:64)
at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:91)
... 25 more
Caused by: org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn't supported yet: file [C:\temp\p2p_yhb\build\classes\com\yhb\jsxn\apppush\android\AndroidBroadcast.class]; nested exception is java.lang.IllegalArgumentException
at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:56)
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:80)
at org.springframework.core.type.classreading.CachingMetadataReaderFactory.getMetadataReader(CachingMetadataReaderFactory.java:102)
at org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider.findCandidateComponents(ClassPathScanningCandidateComponentProvider.java:266)
... 48 more
Caused by: java.lang.IllegalArgumentException
at org.springframework.asm.ClassReader.<init>(Unknown Source)
at org.springframework.asm.ClassReader.<init>(Unknown Source)
at org.springframework.asm.ClassReader.<init>(Unknown Source)
at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:53)
... 51 more

 后来查找原因是:因为我前几天排序的时候使用了jdk8的Lambda表达式,把编译环境改成了1.8。spring 3.2不支持1.8编译环境,解决办法就是降为1.7编译环境 或者换成spring 3.1

 

 

 

posted on 2017-05-12 17:21  nodeyang 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/yangjian-java/p/6846465.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【关于使用SpringJUnit4ClassRunner单元测试报错问题】 的相关文章

  • Pytorch安装(Windows + Python环境)

    目录 下载地址版本选择可能的报错和解决方法检查是否安装成功参考 下载地址 pytorch 的安装可以直接查看官网教程 xff0c 如下图所示 官网地址 xff1a Pytorch官网 版本选择 Package xff1a 这里推荐采用 Co
  • 超简单地输出所有水仙花数(Java实现)

    今天打算将以前简单又基础的练习题拿出来分享以下 xff0c 虽然很简单 xff0c 但也很适合刚入门的小白练练手 xff0c 熟悉熟悉以下 x1f431 x1f3cd 开场还是得简单以下水仙花数是一种什么样的数 水仙花数 xff1a 水仙花
  • YBTOJ通讯问题(强连通分量)

    YBTOJ通讯问题 xff08 强连通分量 xff09 思路 xff1a 以上纯属水博客 有强连通分量这个算法提示 xff0c 思路应该不难想 但是有一个小细节 我们枚举入边的时候要缩点之后反向建图 xff0c 然后枚举出边 我没建反图调了
  • 基于51单片机的倒计时系统

    具体实现功能 系统由STC89C52单片机 43 按键电路 43 复位电路 43 晶振电路 43 LCD1602显示模块构成 具体功能 xff1a xff08 1 xff09 六位LED显示 xff0c 从59分59秒99开始倒计时 xff
  • 并查集算法总结

    1 并查集定义 并查集是一种数据结构 xff0c 常用来描述集合 在一些应用的问题中 xff0c 需将n个不同的元素划分成一组不相交的集合 开始时 xff0c 每个元素自成一格单元素集合 xff0c 然后按一定顺序将属于同一组的元素的集合合
  • python 识别图像中的文字(数字)之python图文识别

    最近在爬一个网站 xff0c 找了数据老半天突然发现原来人家不是用数据传输过来的 xff0c 而是用png背景透明的图片传输过来的 xff0c 这把我气的不轻 不过发现了是图片就好说 xff0c 图像文字识别呗 xff0c 结果发现 xff
  • nohup后台执行脚本并输入日志到指定目录

    后台执行命令 xff0c 并输出目录到指定目录 nohup tar zxvf text tar gt gt text log amp
  • Python + Tesseract-OCR识别图片文字

    考试答题偶然一次需要提取图片中的文字 xff0c 所以搜索了一下解决方法 测试代码如下 xff1a span class token keyword from span PIL span class token keyword import
  • System.DllNotFoundException,无法加载 DLL“****.dll”

    在Visual Studio中使用C 编写代码的时候 xff0c 使用了 dll插件 xff0c 但是一直报错 遇到的问题和解决办法 1 System BadImageFormatException 类型的未经处理的异常在 xxx dll
  • 损失函数——均方误差(Mean Squared Error,MSE)

    均方误差 xff08 Mean Squared Error xff0c MSE xff09 xff1a MSE是回归任务中常用的损失函数 xff0c 它衡量模型预测值与实际值之间的平均平方误差 具体来说 xff0c MSE的计算公式如下 x
  • 谭浩强C语言第一,二章习题答案

    1 什么是程序 xff1f 什么是程序设计 xff1f 程序是一组计算机能够识别和执行的指令 xff0c 是若干个指令或命令的集合 程序设计是给出解决特定问题程序的过程 xff0c 是软件构造活动中的重要组成部分 程序设计往往以某种 程序设
  • 10个数依次输入,要求输出最大的数

    int main int i max a 10 printf 34 请输入10个数 n 34 for i 61 0 i lt 10 i 43 43 scanf 34 d 34 amp a i max 61 a 0 for i 61 0 i
  • 求两个数m和n的最大公约数

    辗转相除法 xff1a 取两个数中最大的数做除数 xff0c 较小的数做被除数 xff0c 用最大的数除较小数 xff0c 如果余数为0 xff0c 则较小数为这两个数的最大公约数 xff0c 如果余数不为0 xff0c 用较小数除上一步计
  • 编写一个程序,输入若干个整数,以-1标记为结束,输出其中的最大值和最小值。

    解析 xff1a 利用while循环接收用户的输入 xff0c 用break退出循环语句 第一次输入时 xff0c 将该数同时赋给最大值和最小值 xff0c 对以后输入的数进行比较 xff0c 将最大值赋给max xff0c 最小值赋给mi
  • 用c语言编写以英文字母为元素的菱形图案

    编写一个程序 xff0c 输出菱形图案 xff0c 第一行为一个字母A xff0c 第二行为三个字母B xff0c 以此类推 xff0c 第n行为2n 1个相应的字母 xff0c 以后每行递减 xff0c n由键盘输入 解析 xff1a 使
  • 从键盘随机输入10个整数,然后从小到大顺序输出

    代码如下 xff1a int main int num 10 i j printf 34 请输入10个整数 n 34 for i 61 0 i lt 10 i 43 43 scanf 34 d 34 amp num i for i 61 0
  • 从键盘输入一个字符串,分别统计其中的字母,数字和其他字符的个数

    printf 34 请输入一个字符串 n 34 char a 100 int num1 61 0 num2 61 0 num3 61 0 gets a for int i 61 0 a i 61 39 0 39 i 43 43 if a i
  • 域名解析各项记录对应的值

    1 DNS域名解析中添加的各项解析记录 A记录 xff1a 将域名指向一个IPv4地址 xff08 例如 xff1a 100 100 100 100 xff09 xff0c 需要增加A记录 CNAME记录 xff1a 如果将域名指向一个域名
  • 数据结构———队列的顺序实现

    define MaxSize 100 define ElemType int typedef struct ElemType data MaxSize int front rear SeqQueue void InitQueue SeqQu
  • 直接插入排序

    include lt stdio h gt include lt math h gt include lt string h gt include lt stdlib h gt int main void InsertSort int a

随机推荐

  • C++枚举类型enum使用方法(附带可用代码+通俗易懂)

    1 说明 枚举用来表示某类事情的结果 xff1b 例1 xff1a 下棋比赛的三种结果 xff0c 赢 xff0c 和 xff0c 输 xff1b 这里是描述比赛的结果 例2 xff1a 一周7天中的俩种结果 xff0c 工作日和非工作日
  • 关于python+opencv无法打开摄像的问题

    一开始我认为是软件的兼容问题 xff0c 苦苦思考 xff08 按照流程自己去第三方库里乱下一波是绝对不会出现这种无法打开摄像头的奇葩问题 xff09 xff0c 最终参考网上的教程 xff0c 尝试用系统的相机打开 xff0c 看 xff
  • 蓝桥杯每日一题(28)七段码(python)

    Topic 试题 D 七段码 本题总分 xff1a 10 分 问题描述 小蓝要用七段码数码管来表示一种特殊的文字 上图给出了七段码数码管的一个图示 数码管中一共有 7 段可以发光的二极管 xff0c 分别标记为 a b c d e f g
  • 数据结构之顺序表(C语言)

    目录 1 线性表 1 1 线性表的概念 xff1a 1 2 线性表数据的存储方式 xff1a 注意 xff1a 2 顺序表 2 1 概念 2 2 顺序表的存储结构 3 顺序表的各种操作函数实现 3 1 顺序表初始化 3 2 顺序表判满函数
  • Posix与System V共享内存区

    Posix与System V共享内存区 一 Posix共享内存区1 概述2 shm open和shm unlink函数3 ftruncate和fstat函数4 给一个共享的计数器持续加1 例子5 向一个服务器发送消息例子 二 System
  • ARM裸机开发——Linux环境搭建和LED灯闪烁实验

    写在前面 本文为学校开展的嵌入式系统设计课程 xff0c 本文主要是记录课程中的相关作业与学习记录 xff0c 本课程采用了S3C2440A嵌入式系统开发板 xff0c 由于主要以学校开展课程为主 xff0c 本文内容可能有一定的课程资料辅
  • Linux文件系统常用命令

    文件系统常见目录 boot 包含系统内核 xff0c 系统启动时加载到内存 etc 含系统配置文件 var 含系统中变化信息 xff08 如日志 xff09 的目录 dev 可直接对物理设备存取的特殊文件 bin
  • PTA_Python3_企业根据利润提成发放奖金问题

    企业根据利润提成发放奖金问题 利润低于或等于10万元时 xff0c 奖金可提10 xff1b 利润高于10万元 xff0c 低于20万元时 xff0c 低于10万元的部分按10 提成 xff0c 高于10万元的部分 xff0c 可提成7 5
  • 【4大运营商光猫默认初始超级密码】

    4大运营商光猫默认初始超级密码 xff1a 1 电信超级密码 telecomadmin nE7jA 5m 2 移动超级密码 CMCCAdmin aDm8H MdA 3 联通超级密码 CUAdmin CUAdmin 4 广电超级密码 admi
  • 写delete时遇到的问题

    在写delete的时候会跳出错误 ConsoleApplication1 exe Win32 已加载 C Windows SysWOW64 ntdll dll 无法查找或打开 PDB 文件 ConsoleApplication1 exe W
  • 宏定义可以自增自减吗?(带题讲解,并总结C语言数据类型可自加自减的)

    不可以 通过实验我们可以得出double型数据可以自加 xff0c 且每次变化为1 在宏定义下自加出现了错误 xff0c 如下 xff1a 总结int char double float 都可进行自加自减运算
  • Linux下将当前目录下的某个文件复制到指定文件夹

    cp filename home directory 即cp 文件名 目标文件夹的绝对路径 批量复制 cp filename1 filename2 filename3 home directory 即cp 文件1名 文件2名 文件3名 目标
  • centos的命令行个性化配置

    centos的命令行个性化配置 cd root 进入配置文件 vim bashrc 在末行输入 PS1 61 34 debian chroot 43 debian chroot e 32 1m u e 0m 64 h e 34 1m w e
  • 数据库作业:数据查询 连接查询

    若一个查询同时涉及两个以上的表 xff0c 称之为连接查询 连接查询是数据库中最主要的查询 xff0c 包括等值连接查询 xff0c 自然连接查询 xff0c 自身连接查询等 一 等值和非等值连接查询 1 1连接查询的WHERE子句中用来连
  • Ubuntu20.04安装arm-linux-gcc

    我安装的版本是arm linux gcc 4 6 4 xff0c 并且是64位的 在windows系统中把arm linux gcc 4 6 4 arm x86 64 tar bz2压缩包放在跟Ubuntu虚拟机的共享目录下在Ubuntu2
  • OSI七层模型总结

    OSI Open System Inter Connection 开放系统互联模型 定义了不同计算机互联的标准 xff0c 设计和描述了计算机网络通信的框架 OSI有7层和5层两种模型 xff0c 7层模型从上往下分别是 xff1a 应用层
  • 23种Python设计模式之工厂方法模式详解

    x1f496 作者 xff1a 大家好 xff0c 我是阿旭 x1f61c x1f389 支持我 xff1a 点赞 x1f44d 收藏 留言 x1f4dd x1f4e3 系列专栏 xff1a 23种设计模式详解 Python x1f341
  • STM32F103C8T6驱动SG90舵机--通过延时

    前言 最近博主在尝试驱动SG90舵机的时候 xff0c 发现网上教程都是通过定时器的方式 xff0c 还要进行各种配置 xff0c 太麻烦了 xff0c 于是自己用延时简单写了一下 xff0c 也能用 舵机的控制 舵机控制就是需要一个20m
  • MyBatis-Plus 分页设置不生效

    分页不生效的原因都是拦截器的问题 添加拦截器有两种情况 在配置类上加拦截器 64 Configuration public class MyBatisPlusConfig 新增分页拦截器 xff0c 并设置数据库类型为mysql 64 Be
  • 【关于使用SpringJUnit4ClassRunner单元测试报错问题】

    关于使用SpringJUnit4ClassRunner单元测试报错问题 今天单元测试如下的代码的时候发现项目老是报错 xff1a package com yhb jsxn service import java text SimpleDat