2017-01-31 4 views
0

프로젝트 폴더가 있지만 자바 프로젝트가 아닙니다. 그것은 maven 프로젝트입니다. 나는 junit 테스트를 작성했으며 Eclipse IDE에서 실행할 때 완벽하게 실행되지만, maven 명령 mvn install을 실행하면 junit 테스트를 건너 뛴 것으로 보입니다. src/test/java/ (테스트의 이름은 AppTest.java 임)에 테스트 파일을 포함 시켰으며 기본 .java 파일 (기본 메소드 포함)은 src/main/java/에 있습니다. 내가 현재 작업하고있는 프로젝트가 maven 프로젝트이고 maven Java 프로젝트가 아니라는 것을 알았습니다. 나는 이것은 POM입니다비 자바 프로젝트에서 junit 테스트를 실행하는 방법

실패 신중한 테스트를 가지고 구축 안 -

folder structure

Maven test output < : 내 현재 폴더 구조의 화면을 포함했다. pom 파일이 문법적으로 잘못되었지만 내가 사용하는 주요 플러그인이 있으므로 일부 민감한 부분을 삭제/주석 처리했습니다. tap4j, junitsurefire.

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
     <artifactId>integration-api-parent</artifactId> 
     <groupId>uk.gov.dwp</groupId> 
     <version>1.0.2</version> 
    </parent> 
    <artifactId>aa</artifactId> 
    <version>1.0.6</version> 
    <packaging>pom</packaging> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.12</version> 
      <scope>test</scope> 
     </dependency> 
    </dependencies> 
    <build> 
     <finalName>aa</finalName> 
     <plugins> 
      <!-- plugin> 
       <groupId>com.github.fracpete</groupId> 
       <artifactId>latex-maven-plugin</artifactId> 
       <configuration> 
        <forceBuild>true</forceBuild> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>com.github.fracpete</groupId> 
       <artifactId>latex-maven-plugin</artifactId> 
       <configuration> 
        <forceBuild>true</forceBuild> 
       </configuration> 
      </plugin--> 
      <plugin> 
       <!-- Plug-in utilised for the execution of the JMeter Integration Tests --> 
       <!-- These tests are executed against the nominated integration server where as --> 
       <!-- instance of AA exists --> 
       <groupId>com.lazerycode.jmeter</groupId> 
       <artifactId>jmeter-maven-plugin</artifactId> 
       <version>1.9.0</version> 
       <executions> 
        <execution> 
         <id>jmeter-tests</id> 
         <phase>verify</phase> 
         <goals> 
          <goal>jmeter</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <ignoreResultErrors>false</ignoreResultErrors> 
        <suppressJMeterOutput>false</suppressJMeterOutput> 
        <overrideRootLogLevel>INFO</overrideRootLogLevel> 
       </configuration> 
      </plugin> 
      <plugin> 
       <!-- Step to copy the latest plug-ins that form this build to the integration server --> 
       <!-- This is done using the SCP command via the ANT plug-in thus allowing it to execute on all platforms --> 
       <artifactId>maven-antrun-plugin</artifactId> 
       <version>1.8</version> 

        <dependency> 
         <groupId>ant</groupId> 
         <artifactId>ant-jsch</artifactId> 
         <version>1.6.5</version> 
        </dependency> 
        <dependency> 
         <groupId>com.jcraft</groupId> 
         <artifactId>jsch</artifactId> 
         <version>0.1.42</version> 
        </dependency> 
        <!-- https://mvnrepository.com/artifact/org.tap4j/tap4j --> 
        <dependency> 
         <groupId>org.tap4j</groupId> 
         <artifactId>tap4j</artifactId> 
         <version>4.2.1</version> 
        </dependency> 
       </dependencies> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.19.1</version> 
      </plugin> 
      <!-- plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <configuration> 
        <descriptors> 
         <descriptor>src/main/assembly/cassandra-assembly.xml</descriptor> 
         <descriptor>src/main/assembly/devenv-assembly.xml</descriptor> 
         <descriptor>src/main/assembly/main-assembly.xml</descriptor> 
        </descriptors> 
       </configuration> 
      </plugin--> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.18.1</version> 
      </plugin> 
      <!-- plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>templating-maven-plugin</artifactId> 
       <configuration> 
        <skipPoms>false</skipPoms> 
        <sourceDirectory>${project.basedir}/src/main/latex-templates</sourceDirectory> 
        <outputDirectory>${project.build.directory}/latex</outputDirectory> 
       </configuration> 
      </plugin--> 
     </plugins> 
    </build> 
</project> 

AppTest : 확실한 플러그인을 추가

package AccessGateway; 

import static org.junit.Assert.*; 

import java.io.File; 

import org.junit.Test; 
import org.tap4j.consumer.TapConsumer; 
import org.tap4j.consumer.TapConsumerFactory; 
import org.tap4j.model.TestSet; 

public class AppTest { 

    Practise prac; 
    final String DIRECTORY = "C:\\Users\\Hello\\Desktop\\"; 

    @Test 
     public void testHeaderProcessor() { 
      prac = new Practise(); 
      assertFalse(prac.runTest(new File(DIRECTORY+"TAPHeaderProcessor.txt"))); 
     } 

    @Test 
     public void testHeaderPortForward() { 
      prac = new Practise(); 
      assertFalse(prac.runTest(new File(DIRECTORY+"TAPHeaderPortForward.txt"))); 
     } 

    @Test 
     public void catunittest() { 
      prac = new Practise(); 
      assertFalse(prac.runTest(new File(DIRECTORY+"catunittest.txt"))); 
     } 

    @Test 
     public void catunitcrowstest() { 
      prac = new Practise(); 
      assertFalse(prac.runTest(new File(DIRECTORY+"catcrowd.txt"))); 
     } 

    @Test 
     public void testCrowd() { 
      prac = new Practise(); 
      assertFalse(
        prac.runTest(new File(DIRECTORY+"TAPCrowd.txt"))); 
     } 


    @Test 
    public void testADFS() { 
     prac = new Practise(); 
     assertFalse(
       prac.runTest(new File(DIRECTORY+"TAPADFSformat.txt"))); 
    } 



} 
+0

자바 자연을 추가하려 했습니까? (오른쪽 클릭> 속성> 프로젝트 패싯) – jhamon

+0

프로젝트 패싯을 찾지 못했습니다 – lualover2017

+1

pom.xml을 추가하십시오 –

답변

0

보십시오. 내 애플 리케이션에서 테스트를했을 때 나는 항상 그것을 포함한다. (junit과 testng에서도 작동한다.) 귀하의 로그를 바탕으로 나는 그것이 선언하지 않았 음을 알 수 있습니다.

<plugins> 
[...] 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.19.1</version> 
+0

그 메시지를 추가했지만 여전히 동일한 메시지입니다. 나는 pom.xml을 편집하고 업로드 할 것이다. – lualover2017

+0

게시물에 pom 파일을 추가했습니다. – lualover2017

+0

좋아 보인다 .. 그냥 확실한 플러그인 중 하나를 제거하십시오 .. 마지막으로 .. AppTest 클래스를 여기에 추가하십시오. –

1

문제는 당신이 프로젝트의 종류에 확실한을 실행할 수 없습니다 pom

당신의 프로젝트의 packaging입니다.

+0

junit 테스트를 실행하기 위해 무엇을 제안 하시겠습니까? – lualover2017

+0

프로젝트에 Java 코드가 포함되어 있으면'jar '여야합니다. 'pom'은 다중 모듈 프로젝트에 사용됩니다. –

+0

자바 코드의 유일한 부분은 junit 테스트입니다. 가능하다면 내가 jar.pom을 어떻게 변형시킬 수 있는지에 대한 아이디어는? – lualover2017

관련 문제