Fitnesse: “无法检测到命令行测试运行程序的结束”

4
每次我们启动fitnesse测试,最后都会显示:

测试被中断,结果不完整

并且会出现异常:
Could not detect death of command line test runner.
java.lang.IllegalThreadStateException: process has not exited
    at fitnesse.components.CommandRunner.join(CommandRunner.java:79)
    at fitnesse.responders.run.slimResponder.SlimTestSystem.bye(SlimTestSystem.java:208)
    at fitnesse.responders.run.MultipleTestsRunner.startTestSystemAndExecutePages(MultipleTestsRunner.java:118)
    at fitnesse.responders.run.MultipleTestsRunner.internalExecuteTestPages(MultipleTestsRunner.java:88)
    at fitnesse.responders.run.MultipleTestsRunner.executeTestPages(MultipleTestsRunner.java:60)
    at fitnesse.responders.run.TestResponder.performExecution(TestResponder.java:190)
    at fitnesse.responders.run.TestResponder.doExecuteTests(TestResponder.java:72)
    at fitnesse.responders.run.TestResponder$TestExecutor.execute(TestResponder.java:106)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:600)
    at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
    at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
    at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
    at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
    at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
    at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
    at org.apache.velocity.runtime.directive.Parse.render(Parse.java:260)
    at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
    at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
    at org.apache.velocity.Template.merge(Template.java:356)
    at org.apache.velocity.Template.merge(Template.java:260)
    at fitnesse.responders.templateUtilities.HtmlPage.render(HtmlPage.java:80)
    at fitnesse.responders.run.TestResponder.doSending(TestResponder.java:61)
    at fitnesse.responders.ChunkingResponder.startSending(ChunkingResponder.java:66)
    at fitnesse.http.ChunkedResponse.sendTo(ChunkedResponse.java:26)
    at fitnesse.FitNesseExpediter.sendResponse(FitNesseExpediter.java:96)
    at fitnesse.FitNesseExpediter.start(FitNesseExpediter.java:48)
    at fitnesse.FitNesseServer.serve(FitNesseServer.java:24)
    at fitnesse.FitNesseServer.serve(FitNesseServer.java:17)
    at fitnesse.socketservice.SocketService$ServerRunner.run(SocketService.java:109)
    at java.lang.Thread.run(Thread.java:736)

你是否遇到了相同的问题?你是如何解决它的?
fitnesse版本:20121220
1个回答

0

很有可能您有一个类引用挂在那里,而FitNesse无法关闭它。或者有些东西正在调用System.exit()。

第一个例子是Selenium WebDriver。您必须close() browserDriver以获得测试的干净结束。

第二个是我们过去无意中允许的事情,在更近期的版本中已经改变。更新到最新的EDGE可能会解决这个问题。

然而,更多的上下文确实是需要的,因为这很可能是您的配置或夹具中的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接