Есть ли способ запустить тесты Junit в разных ОС?JAVA

Программисты JAVA общаются здесь
Anonymous
Есть ли способ запустить тесты Junit в разных ОС?

Сообщение Anonymous »

У меня есть приложение Tomcat, которое использует построитель процессов для запуска некоторых системных команд. Например чат. Они заключены в гиперметоды, например:

Код: Выделить всё

    public static void lockFile(String file) {
if ("Linux".equals(getOS()))
executeCmd("/usr/bin/chattr +i " + file, 0);
}
Большинство наших разработчиков используют машины под управлением Windows, однако наше приложение развертывается в средах Debian, Ubuntu или FreeBSD.
Есть ли способ запускать тесты в Junit5, которая позволит мне контролировать ОС, на которой выполняется мой код?
У меня уже есть тесты, использующие TestContainers, но я использую их для обеспечения зависимостей времени выполнения, таких как база данных, а не для того, что я код внедряется.
Я также изучил аннотацию EnabledOnOs, но это просто ограничит то, в каких средах выполняются наши тесты. Поскольку большинство разработчиков используют Windows, это означает, что наши тесты нельзя запускать локально.
Есть ли какая-нибудь возможность сделать это? Мне бы хотелось, чтобы эти тесты освещались таким образом, чтобы не было издевательств. Я мог бы просто имитировать внутренние вызовы, но это кажется ненадежным (предположим, что мои макеты случайно вернули немного другие результаты или среду, которую мы развертываем для изменений.

Подробнее здесь: https://stackoverflow.com/questions/788 ... ferent-oss

Вернуться в «JAVA»