Hello Xiaomou,
the documentation of the junit task
http://ant.apache.org/manual/Tasks/junit.html
mentions that the test nested element can have a methods attribute to specify
the methods you want to run
Comma-separated list of names of test case methods to execute. Since 1.8.2
<junit …>
<test name="com.something.XyzTest" methods="test1">
</test>
</junit>
Regards,
Antoine
On May 11, 2013, at 2:15 PM, 肖谋 wrote:
> Thanks for your reply. Perhaps I did not express my problem clearly, or may
> not understand your solution.
> My problem is : I have junit test class:
> class TestService {
> @Test
> void test1() {}
> @Test
> void test2() {}
> }
>
> now I'd like to only test the "test2" with ant command line like this:
> ant -Dtest=TestService -Dtestcase=test2 test-target
> Then how to write the build.xml?
>
> Thanks
>
>
> XiaoMou
>
>
>
>
>
> On Sat, May 11, 2013 at 4:00 PM, Jan Matèrne (jhm) <[email protected]>
> wrote:
>
>> Basic idea is
>> - specify the test to run via command line property (-Dtestcase=...)
>> - test-targets depends on two targets running a single test or the whole
>> test suite
>> <target name="test" depends="-test.single,-test.all"/>
>> - that two targets are conditional according to that property
>> <target name="-test.single" if="testcase">
>> <target name="-test.all" unless="testcase">
>>
>> Jan
>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: Matt Benson [mailto:[email protected]]
>>> Gesendet: Freitag, 10. Mai 2013 16:55
>>> An: Ant Users List
>>> Betreff: Re: How to run a single junit test method with ant
>>>
>>> Typically this would be done using separate targets. Ant's own
>>> build.xml provides an example.
>>>
>>> HTH,
>>> Matt
>>>
>>>
>>> On Thu, May 9, 2013 at 11:33 PM, 肖谋 <[email protected]> wrote:
>>>
>>>> Hi, Users.
>>>> I am using ant in Linux. I can use ant junit task to run all test
>>>> methods in a junit4 test class but fail to find the way to run a
>>>> single test method. I googled and found a helpful article at
>>>> https://today.java.net/pub/a/today/2003/09/12/individual-test-
>>> cases.html.
>>>> However, the solution it provides does not help. My ant seems not to
>>>> recognize the "tests" sysproperty.
>>>> My ant version is 1.8.4. and the related content of build.xml is
>>>> listed as follows:
>>>>
>>>> <target name="ensure-test-name" unless="test">
>>>> <fail message="You must run this target with -
>>> Dtest=TestName"/>
>>>> </target>
>>>>
>>>> <target name="run-general-test" description="Runs the test you
>>>> specify on the command
>>>> line with -Dtest=" depends="compile, ensure-test-name">
>>>> <junit printsummary="withOutAndErr" fork="true">
>>>> <sysproperty key="tests" value="${tests}"/>
>>>> <classpath refid="test.classpath" />
>>>> <formatter type="plain" usefile="false"/>
>>>> <batchtest>
>>>> <fileset dir="${test.src.dir}">
>>>> <include name="**/${test}.java"/>
>>>> </fileset>
>>>> </batchtest>
>>>> </junit>
>>>> </target>
>>>>
>>>> Please help! Thanks a lot!
>>>>
>>>> Regards
>>>> xiaomou
>>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>