2016-08-31 2 views
0

저는 JUnit에 익숙하지 않지만, junit을 동등한 gradle에 사용하는 ant 타겟을 번역하려고합니다. 그것은 너무 뜨거워지지 않습니다, 왜냐하면 저는 gradle 측에서 약간의 실패를 얻고 있습니다. 저는 그것이 입력이 어떤 방법 으로든/어딘가에서 발견되지 않았기 때문에 발생합니다. 그러나 쉽게 확인할 수는 없으므로 확인할 수 없습니다. 개미 표적. 내가 할Gradle에 개미 : JUnit (4.11) 테스트 변환

task testing(type:Test){ 
    useJUnit() 
    testClassesDir = file("testCodeCompiled") 
    include '**/included.class' 
    exclude '**/excluded.class' 
    classpath = classpath 
} 

두 개의 오류 :

은 여기에 개미 스크립트입니다 :

<target name="testing"> 
    <junit printsummary="yes" showoutput="yes"> 
     <classpath refid="classpath"/> 
     <formatter type="xml"/> 
     <batchtest fork="yes" todir="someOutputLocation"> 
      <fileset dir="${base}/testCode"> 
      <include name="**/included.java"/> 
      <exclude name="**/excluded.java"/> 
      </fileset> 
     </batchtest> 
    </junit> 
</target> 

그리고 여기 내 Gradle을 시도의 (변화 중 하나)의

junit.framework.AssertionFailedError 
java.lang.NullPointerException 

AssertionFailedError는 필자가 가지고 있지 않은 여러 JUnit 종속성 때문에 발생했습니다. junit-4.11 만 로컬 버전을 가져옵니다.

그래도 실제로 작동하지 않는 이유를 알지 못합니다. 그래플의 복잡성 때문일 것으로 생각됩니다. 사람들이 ant-junit 라이브러리에 대해 언급 한 것을 보았습니다. 적어도이 라이브러리를 사용하여 결과를 복제 할 수는 있습니다.

편집 :생각이 생깁니다 : 일부 gradle의 src 파일에서 JUnit을 발견했습니다. useJUnit()을 호출하면 대신 그 것을 사용할 수 있습니까? 그렇다면 결국 이중 종속성이있을 수 있습니까?아니요. useJUnit() 및 로컬 jar를 별도로 제거했습니다. 전자는 이전처럼 행동했지만 후자는 폭발했다.

추가 정보 : 원인은 compiledTestCode에 testCode에 포함 된 여러 디렉토리/데이터가 누락되었을 가능성이 있습니다. 아마도 관련 파일을 복사해야 할 것입니다. 또는 gradle의 JUnit이 .class 대신 .java 파일을 사용하도록하는 방법이 있습니까?

답변

0

궁금하신 분들은 괜찮습니다. 나는 바보 야.

관련 문제