• junit测试操作数据库时,每次都会多添加一条记录?


    今天使用juint时,测试了几个方法,分别为查询所有,查询单个,保存一个,更新一个,删除一个。

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(locations = "classpath:bean.xml")
    public class AccountServiceTest {
        @Autowired
        private IAccountService accountService;
        @Test
        public void tetsFindAll() {
            List<Account> accounts = accountService.findAllAccount();
            for (Account account : accounts) {
                System.out.println(account);
            }
        }
    
        @Test
        public void tetsFindOneById() {
            List<Account> accounts = accountService.findAllAccount();
            Account account = accountService.findOneById(1);
            System.out.println(account);
        }
    
        @Test
        public void tetsSave() {
            List<Account> accounts = accountService.findAllAccount();
            Account account = new Account();
            account.setName("双双");
            account.setMoney(13000F);
            accountService.saveAccount(account);
        }
    
        @Test
        public void tetsUpdate() {
            List<Account> accounts = accountService.findAllAccount();
            Account account = accountService.findOneById(4);
            account.setMoney(23456F);
            accountService.updateAccount(account);
        }
    
        @Test
        public void testDelete() {
            List<Account> accounts = accountService.findAllAccount();
            accountService.deleteAccount(7);
        }
    }

    但是发现一个问题:每次不论测试哪一个方法,数据库里都会新增加一条记录,这条记录是保存方法里的内容。

    把测试类里面的保存方法去掉,再运行其他方法时,发现就没有新增加记录了。

    原因如下:

    我们知道应用程序都有一个入口,就是main方法,但是junit单元测试中,没有main方法也能执行,这是因为junit自己集成了一个main方法,该方法会判断当前测试类中有哪些方法有@Test注解,junit就让有Test注解的方法执行,所以保存方法也就被执行了。

    可是问题来了,我每次都是在方法名上右键,只运行选中的那一个方法。。。

    于是只好给save方法前面加了@Ignore注解,勉强解决了这个问题,如果以后有更好的方法回来更新。

  • 相关阅读:
    avaweb学习总结(八)——HttpServletResponse对象(二)
    javaweb学习总结(七)——HttpServletResponse对象(一)
    javaweb学习总结(六)——Servlet开发(二)
    javaweb学习总结(五)——Servlet开发(一)
    javaweb学习总结(四)——Http协议
    JAVAWeb学习总结(3)
    JAVAWeb学习总结(二)
    eclipse配置tomcat,访问http://localhost:8080出现404错误
    shader学习路线
    Unity3D WebCamTexture 调用外部摄像头
  • 原文地址:https://www.cnblogs.com/iceywu/p/12355144.html
Copyright © 2020-2023  润新知