2016-03-28 6 views
0

В Eclipse я выполняю «Run As» «Тест Maven» или «Maven build», и тесты терпят неудачу. В "Run Configurations" Я поставил эти цели в качествеаргумент «argline» не работает в Maven Surefire Eclipse JUnit

чистый пакет -DargLine = "- Darg1 = 7070 -Darg2 = 9"

Я также попытался установить выше аргументы через pom.xml как так:

<plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-surefire-plugin</artifactId> 
       <version>2.12.4</version> 
       <configuration> 
        <argLine>-Darg1=7070 -Darg2=9</argLine> 
       </configuration> 
</plugin> 

Мой пример JUnit является:

public class TestCase1 { 

    private static String arg1; 
    private static String arg2; 

    @Test 
     public void testStart() throws Exception { 
      System.out.println("arg1: " + arg1); 
      System.out.println("arg2: " + arg2); 
     } 
    } 

Оба arg1 и arg2 приходят утратившим.

Если кто-нибудь может помочь, спасибо.

+0

Тест никогда не использует аргументы программы. И arg1 и arg2 никогда не инициализируются, поэтому они равны нулю. –

+0

Тест использует эти аргументы, я только что опубликовал код, чтобы показать, что они являются нулевыми. И не следует ли их инициализировать через pom.xml? Я имею в виду, не должен ли arg1 быть 7070, а arg2 - 9? Если нет, то каков способ инициализировать их из pom.xml? – AarCee

+0

Вы не извлекаете аргументы, а проверяете значение не инициализированных переменных, которые, конечно же, являются нулевыми –

ответ

0

Поля автоматически не выбираются. Вам необходимо позвонить System.getProperty(String name).

private static String arg1 = System.getProperty("arg1"); 
private static String arg2 = System.getProperty("arg2"); 
Смежные вопросы