Используя os.execvp в Python

AFAIR junit5 поддерживает метааннотации. Вы можете определить пользовательскую аннотацию и поставить ее в свои тесты вместо этого:

6
задан mipadi 17 October 2008 в 03:04
поделиться

2 ответа

Если Ваша переменная "пути к классу" будет содержать, например, "-путь к классу foo.jar", то это не будет работать, так как это думает, что имя опции "-путь к классу foo.jar". Разделите его в двух аргументах: [..., "-путь к классу", путь к классу...].

Другие пути (копия и вставка и система ()) работают, потому что оболочка разделяет командную строку в пробелах (если их не оставляют или заключают в кавычки). Командная строка на самом деле передается к названной программе как массив (в отличие от этого, в Windows), и JVM ожидает находить элемент с только "-путь к классу" сопровождаемый другим элементом с путем к классу.

Вы видите различие для себя путем вызова следующего маленького сценария Python вместо JVM:

#!/usr/bin/python
import sys
print sys.argv
11
ответ дан 9 December 2019 в 22:42
поделиться

Удостоверьтесь, что Вы не полагаетесь на расширение оболочки в своем пути к классу. Например, "~/my.jar" будет расширен оболочкой в вызове os.system, но не, я верю в вызов os.execvp.

0
ответ дан 9 December 2019 в 22:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: