MAVEN2 - لماذا يتجاهل المكون الإضافي FAILESARAID AFFE التعليقات التوضيحية الخاصة بي؟

StackOverflow https://stackoverflow.com/questions/4615477

سؤال

لقد قمت بإعداد مشروع Java/Maven من أجل إجراء الاختبارات بهذه الطريقة:

  • يتم تنفيذ اختبارات الوحدة باستخدام البرنامج المساعد المؤكد
  • يتم تنفيذ اختبارات التكامل باستخدام البرنامج المساعد Failsafe

هنا هو POM (التكوين المضغوط القبيح):

<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/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>org.sample</groupId>
    <artifactId>sample-service</artifactId>
    <version>0.0.0</version>
    <name>sdp-sample-service</name>

    <build> <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration><debug>true</debug><source>1.6</source><target>1.6</target></configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.6</version>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId><artifactId>maven-failsafe-plugin</artifactId><version>2.6</version>
                <executions><execution>
                        <id>integration-test</id>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>integration-test</goal>
                            <goal>verify</goal>
                        </goals>
                        <configuration>
                            <junitArtifactName>none:none</junitArtifactName>
                            <failIfNoTests>false</failIfNoTests>
                            <testFailureIgnore>true</testFailureIgnore>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.8.2</version><scope>test</scope></dependency>                    
    </dependencies>

</project>

لدي فئة اختبار وحدة عينة تبدو هكذا (تنسيق مدمج قبيح مرة أخرى):

package org.sample;import java.util.logging.Logger;import org.junit.*;
public class SampleUnitTest {
    private static final Logger LOG = Logger.getLogger("SampleUnitTest");    
    @BeforeClass public static void beforeClass() {LOG.info("@BeforeClass");}    
    @Before  public void before() {LOG.info("@Before");}    
    @AfterClass public static void afterClass() { LOG.info("@AfterClass");}    
    @After public  void after() { LOG.info("@After"); }    
    @Test public void test1() { LOG.info("test1");}
    @Test public void test2() { LOG.info("test2");}
}

لدي نفس اختبار التكامل نفسه:

package org.sample;import java.util.logging.Logger;import org.junit.*;
public class SampleIT {
    private static final Logger LOG = Logger.getLogger("SampleIT");
    @BeforeClass public static void beforeClass() {LOG.info("@BeforeClass");}
    @Before  public void before() {LOG.info("@Before");}
    @AfterClass public static void afterClass() { LOG.info("@AfterClass");}
    @After public  void after() { LOG.info("@After"); }
    @Test public void test1() { LOG.info("test1");}
    @Test public void test2() { LOG.info("test2");}
}

وإخراج Maven هو:

$ mvn clean install
...
[INFO] [surefire:test {execution: default-test}]
...
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.sample.SampleUnitTest
6 janv. 2011 14:38:38 org.sample.SampleUnitTest beforeClass
INFO: @BeforeClass
6 janv. 2011 14:38:38 org.sample.SampleUnitTest before
INFO: @Before
6 janv. 2011 14:38:38 org.sample.SampleUnitTest test1
INFO: test1
6 janv. 2011 14:38:38 org.sample.SampleUnitTest after
INFO: @After
6 janv. 2011 14:38:38 org.sample.SampleUnitTest before
INFO: @Before
6 janv. 2011 14:38:38 org.sample.SampleUnitTest test2
INFO: test2
6 janv. 2011 14:38:38 org.sample.SampleUnitTest after
INFO: @After
6 janv. 2011 14:38:38 org.sample.SampleUnitTest afterClass
INFO: @AfterClass
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.062 sec

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

...

[INFO] [failsafe:integration-test {execution: integration-test}]
...
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.sample.SampleIT
6 janv. 2011 14:38:38 org.sample.SampleIT test1
INFO: test1
6 janv. 2011 14:38:38 org.sample.SampleIT test2
INFO: test2
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

...

سؤال: لماذا تجاهل اختبارات تكامل الفشل الآمن تمامًا؟

هل كانت مفيدة؟

المحلول

إزالة

<junitArtifactName>none:none</junitArtifactName> 

من التكوين. يجبر على الأرجح أن يعمل في وضع JUNIT3.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top