2015-05-22 1 views
2

Я хочу запустить мой тест приёма для некоторых предопределенных сред. У меня есть файл env.groovy с env{ dev{...}, test{...}} config. я прохожу одно из свойств этого пути в build.gradle:свойство gradle build в коде приложения

test { 
    enabled = false 
    systemProperties = System.getProperties() 
    systemProperties['foo'] = 'bar' 
} 

когда огнь теста, как этого FooValTest

@Test 
    public void testFooVal(){ 
     assertEquals("bar", System.getProperty("foo")); 
    } 

он терпит неудачу. источник: https://github.com/mvcatsifma/spring-ctx-props-file/blob/master/src/test/java/AppTest.java

этот флаг enabled=false имеет значение - почему? он не позволяет изменять sysProperties?

Я хочу сохранить enabled=false, потому что он унаследован.

ответ

0

Здесь вы не устанавливаете реальные свойства системы, вы просто изменяете возвращаемую структуру данных.

Из моего опыта, следующие работы:

test { 
    systemProperty "foo", "bar" 
} 

Enabled только позволяет включить или отключить задачу (раздел 14.8.3 на https://docs.gradle.org/current/userguide/more_about_tasks.html)

+0

Неа, это не так. Я нашел решение, было также 'dependOn drivers.collect {tasks [" someTask "]}' и свойства были взяты оттуда – hanskoff

+0

Ну, я думаю, причина в том, что это работает, потому что тестовые задачи имеют специальный метод «systemProperty», который устанавливает ваш свойства системы на тестовой JVM, запускаемой градиентом. Это не то же самое, что JVM Gradle, который делает вашу сборку. – loosebazooka