gpt4 book ai didi

java - Ant执行任意程序并在junit任务结束时终止

转载 作者:行者123 更新时间:2023-12-01 15:17:29 24 4
gpt4 key购买 nike

我正在尝试针对一系列 RMI 接口(interface)/实现编写单元测试,并依靠 Ant + Junit 来促进这些测试。主要问题是我需要在 Junit 任务开始时启动 rmiregistry 并在执行结束时关闭,无论是失败、错误还是成功。 Ant 脚本:

<project>
<target name="test">
<javac srcdir="Test/src" destdir="Test/bin" />
<junit fork="true" printsummary="true">
<batchtest>
<fileset dir="Test/test">
<include name="**/*Test.*"/>
</fileset>
</batchtest>
</junit>
</target>
</project>

最佳答案

基本上,只需为 junit 任务设置 haltonerror="false"failonerror="false"即可。
这样,junit 就不会因测试而失败。启动和停止是通过 exec task 完成的。我在这里使用taskkill来杀死rmiregistry.exe。

<exec executable="start"> <--your start command here -->
<arg value="rmiregistry"/>
</exec>
<junit fork="true" printsummary="true" haltonerror="false" failonerror="false" errorproperty="juniterrors" failureproperty="junitfailures">
...
</junit>
<exec executable="taskkill"> <--your shutdown command here -->
<arg value="/IM"/>
<arg value="rmiregistry.exe"/>
</exec>
<fail if="juniterrors"/> <!-- ant can fail now, if desired -->
<fail if="junitfailures"/>

另一个选择是使用 try/catch from ant-contrib ,但我认为这里不需要这样做。

关于java - Ant执行任意程序并在junit任务结束时终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11434944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com