Soru Komut satırından giriş, junit maven test programına nasıl geçilir


İki sayı eklemek için bir deneme testi yazdım. Bu numaraları komut satırından geçmem gerekiyor. Bu cinayet testini maven aracından çalıştırıyorum

mvn -Dtest=AddNumbers

Test programım buna benziyor

int num1 = 1;
int num2 = 2;

@Test
public void addNos() {
  System.out.println((num1 + num2));
}

Bu numaralar komut satırından nasıl geçilir?


25
2018-03-28 06:16


Menşei


burada bir cevap yazabilir miyiz lütfen - nullpointer


Cevaplar:


Sayıların @artbristol tarafından önerildiği gibi sistem özellikleri olarak geçmesi iyi bir fikirdir, ancak bu özelliklerin teste yayılacağının her zaman garanti edilmediğini fark ettim.

Sistem özelliklerini test etmek için kullandığınızdan emin olmak için maven surefire eklentisi  argLine parametre gibi

mvn -Dtest=AddNumbers -DargLine="-Dnum1=1 -Dnum2=2"

28
2018-05-04 19:58





Komut satırından girdiyi junit maven test programına geçirmek için aşağıdaki adımları izleyin. Örneğin, parametreyi geçirmeniz gerekiyorsa dosya adı Maven tarafından gerçekleştirilen birim testine, ardından aşağıdaki adımları izleyin:

  1. JUnit kodunda - parametre Sistem özellikleri üzerinden geçirilecektir:

    @BeforeClass
    public static void setUpBeforeClass() throws Exception {
        String fileName = System.getProperty("fileName");
        log.info("Reading config file : " + fileName);
    }
    
  2. Pom.xml dosyasında - eminfire eklenti yapılandırmasında param adını belirtin ve maven'i Sistem özelliklerinden gerçek değeri elde etmek için zorlamak için {fileName} notasyonu kullanın.

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
            <!-- since 2.5 -->
            <systemPropertyVariables>
               <fileName>${fileName}</fileName>
            </systemPropertyVariables>
            <!-- deprecated -->
            <systemProperties>
                <property>
                    <name>fileName</name>
                    <value>${fileName}</value>
                </property>
            </systemProperties>
        </configuration>
    </plugin>
    
  3. Komut satırında fileName parametresini JVM sistem özelliklerine geçirin:

    mvn clean test -DfileName=my_file_name.txt
    

14
2017-12-20 21:50





Onları bu şekilde komut satırında geçirebilirsiniz.

mvn -Dtest=AddNumbers -Dnum1=100

Daha sonra testinizdeki

int num1=Integer.valueOf(System.getProperty("num1"));


11
2018-03-29 09:56



string parametresini geçmek gerekirse, nasıl yapmalı?