2014-04-09 8 views
0

유닛 테스트를 실행하는 개미 작업이 있습니다. 내가 log4j 구성을 포함하는이 BaseTestClass을 만들어 여러 가지 다른 SO 게시물을 따라했다개미 테스트 중 콘솔에 로그온하는 방법 작업

public class UserTest extends BaseTestClass { 

    private static final Logger LOGGER = Logger.getLogger(BaseTestClass.class); 

    @Autowired 
    SessionFactory sessionFactory; 

    @Test 
    @SuppressWarnings("unchecked") 
    public void testUser() { 
     List<User> users = sessionFactory 
      .getCurrentSession() 
      .createQuery("from User") 
      .list(); 
     for(User user : users) { 
      LOGGER.info(user.getName()); 
      Assert.assertEquals(user.getName(),String.class); 
     } 
    } 
} 

: 그것은이

<target name="test-platform" depends="compile_tests"> 
    <mkdir dir="${platform.test.log.dir}"/> 
    <junit fork="true" haltonerror="true"> 
     <classpath refid="test.build.classpath"/> 
     <batchtest todir="${platform.test.log.dir}"> 
      <formatter type="plain" usefile="true"/> 
      <fileset dir="${javatests}"> 
       <include name="**/*Test.java"/> 
      </fileset> 
     </batchtest> 
    </junit> 
</target> 

처럼이 보이는 몇 가지 테스트를 보인다.

package com.example.test; 
import org.apache.log4j.BasicConfigurator; 
public class BaseTestClass { 
    static { 
     BasicConfigurator.configure(); 
    } 
} 

하지만 테스트를 실행할 때 콘솔에 아무것도 나오지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?

답변

0

빠른 방법은 일어나서 실행합니다 :

는 log4j.properties 파일을 생성하고 클래스 패스의 루트에 넣어.

다음 줄을 입력하십시오. 당신이 사용하는 패턴은 당신에게 달려 있습니다.

log4j.rootLogger = INFO, Console 

log4j.appender.Console=org.apache.log4j.ConsoleAppender 
log4j.appender.Console.layout=org.apache.log4j.PatternLayout 
log4j.appender.Console.layout.conversionPattern=%d [%t] %5p %m%n 

BaseTestClass를 제거해야 할 수 있습니다.

+0

그는 시몬과 함께 전달 될 수와 시도, 감사는 대답을, 내가 그 해보자. 우선 log4j.properties를 클래스 패스에있는 테스트 디렉토리 자원 디렉토리에 두려고합니다. 나는 당신이 classpath의 "뿌리"라고 언급 한 것과 관련하여 장애물을 예상합니다. –

+0

화면에 아무 것도 나오지 않습니다. 나는 test 디렉토리의 상단과 resource 디렉토리의 test-applicationContext.xml에''와''와 log4j.properties를 모두 시도했다. –

1

당 : http://ant.apache.org/manual/Tasks/junit.html, showoutput="true"을 설정하고 log4j에 참조가 명시 적으로 <jvmarg value="-Dlog4j.configuration=file>

+0

Hm 불행히도 이것은 최대 절전 모드 출력을 포함하여 콘솔에 모든 것을 보내는 것처럼 보입니다. –

+1

@DavidWilliams 그렇다면 다음을 사용할 수 있습니다 : junitreport ant task http://ant.apache.org/manual/Tasks/junitreport.html 그리고 htm 보고서에서 관련 예외를 보지 못하게 확장하십시오 –