java中奇葩异常一

java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=testFindUserByQueryVo], {ExactMatcher:fDisplayName=testFindUserByQueryVo(com.baidu.test.UserMapperTest)], {LeadingIdentifierMatcher:fClassName=com.baidu.test.UserMapperTest,fLeadingIdentifier=testFindUserByQueryVo]] from org.junit.internal.requests.ClassRequest@1de0aca6
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

如上所示:是在项目开发中进行JUnit4测试时,抛出的奇葩异常。以前看到No tests found 时都是没有写关键字造成的,这次不一样。

这次不一样,关键字也写了,还一直抛出这个异常。下面是源码;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;


import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;


import com.baidu.mapper.UserMapper;
import com.baidu.po.QueryVo;
import com.baidu.po.User;


public class UserMapperTest {
private SqlSessionFactory sqlSessionFactory;

@Before
private void init() throws IOException {
SqlSessionFactoryBuilder sessionFactoryBuilder = new SqlSessionFactoryBuilder();
InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
this.sqlSessionFactory = sessionFactoryBuilder.build(resourceAsStream);
}

@Test
public void testFindUserByQueryVo() {
SqlSession sqlSession = this.sqlSessionFactory.openSession();
//获取代理对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = new User();
user.setUsername("张");
QueryVo queryVo = new QueryVo();
queryVo.setUser(user);
List<User> list = userMapper.findUserByQueryVo(queryVo);
for (User user2 : list) {
System.out.println(user2);
}
sqlSession.close();
}

@Test
public void testFindUserCount(){
SqlSession sqlSession = this.sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = new User();
user.setUsername("管理员");
int count = userMapper.findUserCount(user);
System.out.println(count);

sqlSession.close();
}

@Test
public void testFindUserList(){
SqlSession sqlSession = this.sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = new User();
user.setUsername("张");
List<User> list = userMapper.findUserList(user);
System.out.println(list);

sqlSession.close();
}
}

 

异常的意思是,没有找到测试。开始自己一直没有找出来,后来经过前辈的帮助,才发现问题所在。代码里面的init方法是使用快捷键生成的,

导致方法的默认权限修饰符为private;问题就出在这里,测试用例中的所有测试方法都必须有三点要求:1.方法无参数;2.方法无返回值;3.方法的权限为public;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值