2017-01-02 3 views
0

В тесте TestNG, запущенном в Eclipse Neon.2, мне нужен код моего теста для доступа к аргументу программы, который я установил в Запустите конфигурацию теста. Это действительно работает, но проблема в том, что сам TestNG использует этот аргумент, по-видимому, думая, что он представляет некоторый файл; поэтому при выполнении теста, то первое, что появляется в консоли Eclipse, является:TestNG использует аргумент программы, который предназначен для кода моего теста, а не для TestNG

java.io.IOException: The filename, directory name, or volume label syntax is incorrect 
    at java.io.WinNTFileSystem.canonicalize0(Native Method) 
    at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:428) 
    at java.io.File.getCanonicalPath(File.java:618) 
    at org.testng.xml.Parser.parse(Parser.java:151) 
    at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:311) 
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:88) 
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204) 
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175) 

Я установил этот аргумент в конфигурации Run для теста, на вкладке «Аргументы», в разделе «аргументы программы». Аргумент homepath=C:/MyFolder, и это единственный. Аргументы VM не заданы.

Есть ли способ сказать TestNG игнорировать определенный аргумент программы?

Плагин TestNG - ver. 6.8.6.20141201_2240, Windows 8.1.

ответ

1

Если вы создаете «Запустить конфигурацию» для TestNG, для TestNG, а не для вашего приложения, используются «Параметры программы». , поэтому в случае, если вашему приложению нужен какой-либо контекстный аргумент командной строки, вы можете передать -Dfoo=bar в «аргументах VM» или с переменными окружения и в своем приложении, чтобы получить их, позвонив по телефону System.getProperty() или System.getenv()

Смежные вопросы