首先,我想说我刚开始学习python,我想在我的python脚本中执行maven命令(见下面的部分代码)
os.system("mvn surefire:test")
但不幸的是,有时这个命令会超时,所以我想知道如何设置一个超时阈值来控制这个命令。
也就是说,如果执行时间超过 X 秒,程序将跳过命令。
更重要的是,其他有用的解决方案可以解决我的问题吗?提前致谢!
与下面的示例类似,当我testSortArrayNull()在名为test的测试类中运行测试用例时ComparatorAbstractTestCase,抛出RuntimeException,生成的堆栈跟踪如下,
这是堆栈跟踪的结果,
testSortArrayNull(org.apache.commons.io.comparator.CompositeFileComparatorTest) Time elapsed: 0.016 sec <<< ERROR!
java.lang.RuntimeException: null
at org.apache.commons.io.comparator.AbstractFileComparator.sort(AbstractFileComparator.java:48)
at org.apache.commons.io.comparator.CompositeFileComparator.sort(CompositeFileComparator.java:45)
at org.apache.commons.io.comparator.ComparatorAbstractTestCase.testSortArrayNull(ComparatorAbstractTestCase.java:96)
...
Run Code Online (Sandbox Code Playgroud)
这是测试类的部分代码ComparatorAbstractTestCase,
public abstract class ComparatorAbstractTestCase extends FileBasedTestCase {
/** comparator instance */
protected CompositeFileComparator comparator;
...
@Test
public void testSortArrayNull() {
assertNull(comparator.sort((File[])null)); /** LINE 96 */
}
...
}
Run Code Online (Sandbox Code Playgroud)
这是类的部分代码CompositeFileComparator,它是用类扩展的AbstractFileComparator.
import java.io.File;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class CompositeFileComparator extends AbstractFileComparator implements Serializable { /** LINE …Run Code Online (Sandbox Code Playgroud)