Spring单元测试类ApplicationTests错误的解决
程序员文章站
2022-03-09 12:57:01
目录spring单元测试类applicationtests错误1)正确写法2)异常写法springtest单元测试错误经过查询资料总结出现此错误的原因可能有两种spring单元测试类applicati...
spring单元测试类applicationtests错误
1)正确写法
package com.boot.demo02restful; import org.junit.assert; import org.junit.before; import org.junit.test; import org.junit.runner.runwith; import org.springframework.beans.factory.annotation.autowired; import org.springframework.beans.factory.annotation.qualifier; import org.springframework.boot.test.context.springboottest; import org.springframework.test.context.junit4.springjunit4classrunner; import com.boot.restful.application; import com.boot.restful.service.userservice; @runwith(springjunit4classrunner.class) @springboottest(classes=application.class) public class applicationtests { @autowired @qualifier(value="myuserservice") private userservice userserivce; @before public void setup() { // 准备,清空user表 userserivce.deleteallusers(); } @test public void test() throws exception { // 插入5个用户 userserivce.create("a", 1); userserivce.create("b", 2); userserivce.create("c", 3); userserivce.create("d", 4); userserivce.create("e", 5); // 查数据库,应该有5个用户 assert.assertequals(5, userserivce.getallusers().intvalue()); // 删除两个用户 userserivce.deletebyname("a"); userserivce.deletebyname("e"); // 查数据库,应该有5个用户 assert.assertequals(3, userserivce.getallusers().intvalue()); } }
2)异常写法
package com.boot.demo02restful; import org.junit.assert; import org.junit.before; import org.junit.test; import org.junit.runner.runwith; import org.springframework.beans.factory.annotation.autowired; import org.springframework.beans.factory.annotation.qualifier; import org.springframework.boot.test.context.springboottest; import org.springframework.test.context.junit4.springjunit4classrunner; import com.boot.restful.application; import com.boot.restful.service.userservice; @runwith(springjunit4classrunner.class) @springboottest public class applicationtests { @autowired @qualifier(value="myuserservice") private userservice userserivce; @before public void setup() { // 准备,清空user表 userserivce.deleteallusers(); } @test public void test() throws exception { // 插入5个用户 userserivce.create("a", 1); userserivce.create("b", 2); userserivce.create("c", 3); userserivce.create("d", 4); userserivce.create("e", 5); // 查数据库,应该有5个用户 assert.assertequals(5, userserivce.getallusers().intvalue()); // 删除两个用户 userserivce.deletebyname("a"); userserivce.deletebyname("e"); // 查数据库,应该有5个用户 assert.assertequals(3, userserivce.getallusers().intvalue()); } }
springtest单元测试错误
java.lang.exception: no runnable methods
at org.junit.runners.blockjunit4classrunner.validateinstancemethods(blockjunit4classrunner.java:191)
进行springtest单元测试时遇到的错误
经过查询资料总结出现此错误的原因可能有两种
1、没有在测试方法上写@test
2、@test包导入出错,很有可能导入的是org.junit.jupiter.api.test包,而使用spring单元测试需要的包是org.junit.test
可能由以上两种可能导致出错
要这样
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
解决Eclipse中“诡异”的错误:找不到或无法加载主类
-
普通类注入不进spring bean的解决方法
-
解决idea找不到或无法加载主类的错误处理
-
vbs 脚本错误:操作中文件名或类名未找到的解决方法
-
【未解决问题】封装slf4j在spring中无法输出正确的调用类
-
解决IDEA和CMD中java命令提示错误: 找不到或无法加载主类的问题
-
Spring实现类私有方法的几个问题(亲测通用解决方案)
-
Spring 父类变量注入失败的解决
-
Spring单元测试类ApplicationTests错误的解决
-
spring boot框架学习9-spring boot的web开发(5)-错误解决及跳转页面