t.me/atinfo_chat Telegram группа по автоматизации тестирования

junit как сделать запуск нескольких тестов


(kerrigan) #1

тесты на junit'e+java

Проблема: не получается запускать выбранные тесты.

  • С помощью ANT в build.xml когда я в target'ах выбираю конкретный тест, выполняются абсолютно все тесты из данного класса. Как сделать чтобы запускались только те тесты, которые мне надо?
  • С помощью средств junit'a такое тоже не получилось:  suite.addTest(test.class); тоже запускается все тесты, а не конкретный

 

Вот например, в testNG можно написать run.xml где выбрать конкретные методы которые стоит запускать:

<class name="TestClass">
     <methods>
           <include name="testMetod" />
     </methods>

</class>

Есть ли что-то подобное для junit'а?

Подскажите пожалуйста, какое нибудь средство чтобы можно было выбирать тесты.

 

 


(khaz) #2

Прошу прощения, времени нормально ответить нет.

http://ant.apache.org/manual/index.html

http://ant.apache.org/manual/Tasks/junit.html

http://ant.apache.org/manual/Tasks/junitreport.html

Например у меня часть build.xml для запуска теста, передающегося маской имени выглядит так:

 

    <target name="junit" description="Start JUnit tests and make *.xml files">
        <junit printsummary="yes" fork="yes" haltonerror="false" haltonfailure="false">
            <classpath>
                <fileset dir="${qa.ast.}">
                    <include name="**/*.jar" />
                </fileset>
                <pathelement path="${bin/}" />
            </classpath>
            <formatter type="xml" />
            <batchtest todir="${reports/}">
                <fileset dir="${src/}">
                    <include name="${test}.java" />
                    <exclude name="$/qa/StandConfig.java" />
                    <!--Adding junit *.java files to fileset for run-->
                    <!--include name="**/*.java" /-->
                    <!--exclude name="**/*.java" /-->
                </fileset>
            </batchtest>
        </junit>
    </target>

 

прим1: ${X} - переменная Х

прим2: ${test} - собственно имя теста, который я хотел бы запустить. сюда можно добавить сразу имя теста, можно передавать маску, например "**/*TestName*" и т.п.

прим3: Использую junit4, помню, что в ant есть возможность использовать junit3

прим4: для примера, основной таргет у меня такой: <target name="all" depends="git, ubf, clear, compile, junit"/>  (обьновить git-репозиторий с тестами, обновить build.xml, очистить рабочие директории, скомпилировать java+junit, запустить junit) xml c результатами обрабатываются jenkins, так что junitreport не используется.

 

Надеюсь это Вам поможет.