Error note (JUnit)

박주현·2023년 3월 13일

ErrorNote

목록 보기
1/1

JUnit 내에서 호출되는 메서드에 @Test를 붙여서 테스트코드가 정상적으로 실행이 안됨...

    @Test
    public void insertUserTest() throws Exception {
        User user = new User("asdf11", "1234", "abc", "aaa@aaa.com", new Date(), "instar", new Date());
//        int rowCnt = insertUser(user);
        selectUser(user);

//        assertTrue(rowCnt == 1);
    }
	
    // @Test를 붙이니까 계속 에러가 났음
    public int insertUser(User user) throws Exception {
        Connection connection = ds.getConnection();

//        insert into user_info (id, pwd, name, email, birth, sns, reg_date)
//        values ('asdf2', '1234', 'smith', 'aaaa@aaaa.com', '2021-01-01', 'facebook', now());

        String sql = "insert into user_info values (?, ?, ?, ?, ?, ?, now())";

        // 기존 Statement 보다 향상된 점 : SQL Injection공격, 성능향상(캐싱 효과가 있음)
        PreparedStatement pstmt = connection.prepareStatement(sql);
        pstmt.setString(1, user.getId());
        pstmt.setString(2, user.getPwd());
        pstmt.setString(3, user.getName());
        pstmt.setString(4, user.getEmail());
//        pstmt.setDate( 5, (java.sql.Date)new Date(user.getBirth().getTime()));
        pstmt.setDate(5, new java.sql.Date(user.getBirth().getTime()));
        pstmt.setString(6, user.getSns());
        System.out.println("pstmt = " + pstmt);
        System.out.println("user = " + user);

        int rowCnt = pstmt.executeUpdate(); // insert, delete, update 일때 씀

        return rowCnt;
    }
    
    
    ///////ERROR CODE/////////
    
org.junit.runners.model.InvalidTestClassError: Invalid test class 'com.fastcampus.ch3.DBConnectionTest2Test':
  1. Method insertUser() should be void
  2. Method insertUser should have no parameters

	at org.junit.runners.ParentRunner.validate(ParentRunner.java:525)
	at org.junit.runners.ParentRunner.<init>(ParentRunner.java:92)
	at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:74)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:137)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
	at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:104)
	at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
	at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
	at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
	at org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
	at org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
	at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:50)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
	at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)

이와 같은 문제 때문에 몇일을 잡은건지... 바빴다 치지만 살짝 한심하다...

0개의 댓글