2016-04-29 3 views
0

Мой файл test.xml как нижеВыполнить один тест из TestNG в ванной

<suite name="suitename"> 

<test name="testname1"> 
    <classes> 
     <class 
      name="com.org.test1" /> 
    </classes> 
</test> 
<test name="testname2"> 
    <classes> 
     <class 
      name="com.org.test2" /> 
    </classes> 
</test> 

Я пытаюсь использовать командную строку java org.testng TestNG test.xml -testname testname2 просто запустить второй класс. однако он запускает оба теста.

Как это исправить?

Благодаря

+0

Вы получили ответ на вопрос, кроме использования тега exclude ? –

ответ

1

ниже команды для выполнения воздал тестов из testng.xml из командной строки

java -cp ".\bin;.\lib\*;" org.testng.TestNG testng.xml -testnames Test1 

я надеюсь, что вы использовали -testname, который вызывает defult набор.

Usage: <main class> [options] The XML suite files to run 
Options: 
-configfailurepolicy 
    Configuration failure policy (skip or continue) 
-d 
    Output directory 
-dataproviderthreadcount 
    Number of threads to use when running data providers 
-excludegroups 
    Comma-separated list of group names to exclude 
-groups 
    Comma-separated list of group names to be run 
-junit 
    JUnit mode 
    Default: false 
-listener 
    List of .class files or list of class names implementing ITestListener or 

    ISuiteListener 
-methods 
    Comma separated of test methods 
    Default: [] 
-methodselectors 
    List of .class files or list of class names implementing IMethodSelector 
-mixed 
    Mixed mode - autodetect the type of current test and run it with 
    appropriate runner 
    Default: false 
-objectfactory 
    List of .class files or list of class names implementing 
    ITestRunnerFactory 
-parallel 
    Parallel mode (methods, tests or classes) 
    Possible Values: [tests, methods, classes, instances, none, true, false] 
-port 
    The port 
-reporter 
    Extended configuration for custom report listener 
-suitename 
    Default name of test suite, if not specified in suite definition file or 
    source code 
-suitethreadpoolsize 
    Size of the thread pool to use to run suites 
    Default: 1 
-testclass 
    The list of test classes 
-testjar 
    A jar file containing the tests 
-testname 
    Default name of test, if not specified in suitedefinition file or source 
    code 
-testnames 
    The list of test names to run 
-testrunfactory, -testRunFactory 
    The factory used to create tests 
-threadcount 
    Number of threads to use when running tests in parallel 
-usedefaultlisteners 
    Whether to use the default listeners 
    Default: true 
-log, -verbose 
    Level of verbosity 
-xmlpathinjar 
    The full path to the xml file inside the jar file (only valid if -testjar 

    was specified) 
    Default: testng.xml 

Спасибо, Murali

+0

Привет Murali, Если я использую -testnames, метод @BeforeSuite в другом методе запускается или нет. Кажется, это не так. – sspqingda

+0

Вы можете помочь мне с дополнительной информацией. –

1

Мы можем использовать exclude тег в testng.xml файл, если мы хотим, чтобы пропустить выполнение какой-либо части тестов. Здесь Вы можете найти XML-файл, который пропускает выполнение testname1 теста:

<suite name="suitename"> 

<test name="testname1"> 
    <classes> 
     <exclude 
      name="com.org.test1" /> 
    </classes> 
</test> 
<test name="testname2"> 
    <classes> 
     <class 
      name="com.org.test2" /> 
    </classes> 
</test> 

Надеется, что это помогает.

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