Maven - использовать статическую переменную из src / test в src / main - PullRequest
0 голосов
/ 26 июня 2018

Простой тест входа в систему и выхода из системы с использованием Pagefactory создается с TestNG, и он отлично работает, когда он выполняется как тест "TestNG". Я перенес его в Maven и столкнулся с проблемами доступа к переменным между различными классами.

src/main/java
---package:myapp.pages
         Homepage.java
         LoginPage.java
---package:utilities
         CommonUtils.java
         DatabaseUtils.java

src/test/java
---package:myapp.test
         LoginTest.java (has static variable about test name)
           public static String sTestName = "Regression test - Login/Logout"

При использовании вышеуказанной переменной в LoginPage.java, происходит ошибка компиляции. Я использую это как

public static String sName=myapp.test.LoginTest.sTestName;

Ошибка компиляции: [10,22] пакет myapp.test не существует

Как справиться с этой ошибкой? Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 27 июня 2018

src/main - то, где живет ваш производственный код, src/test - то, где живет ваш тестовый код. Рабочий код должен быть отправлен в производственную среду, тестовый код - нет. Следовательно, производственный код не должен зависеть от тестового кода. Maven обеспечивает это для вас (и ваша IDE сделает это соответственно). Никогда не должно быть случая, когда ваш производственный код должен зависеть от того, что известно только тестовому коду. Теперь являются допустимыми сценариями, в которых вы хотите, чтобы поведение во время тестов отличалось от поведения рабочего кода, и для этого существует множество стратегий. Например, вы можете использовать файл свойств (и один файл с таким же именем в src/test/resources «магически» переопределяет рабочий во время тестирования) или использовать set уровни для переопределения всего непосредственно во время тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...