У меня есть следующий конфиг в моем Gradle для тестового задания:
apply plugin: 'java'
...
test {
//Set system property for tests based on project gradle property
systemProperty "DEVICE_ID", rootProject.getProperty("DEVICE_ID")
}
Я вызываю задачу следующим образом:
./gradlew -PDEVICE_ID=someid test
Я вижу, что rootProject.getProperty ("DEVICE_ID") действительно установлен на someid
(хорошо).
Однако в тестовой программе, если я получаю системное свойство DEVICE_ID, в некоторых средах оно устанавливается равным нулю и работает в некоторых средах. Я не вижу разницы между средами, которые работают и не работают (одна и та же версия Gradle, тот же код из git repo).
Я вижу эту и эту ссылку и чувствую, что она может относиться к моей проблеме, но не знаю, как ее исправить. Обратите внимание, что я не использую плагин JunitPlatform и использую Spock / Groovy для своих тестов, а не junit, хотя я полагаю, что он использует тот же раннер, что и junit.