我正在使用PhantomJS在TeamCity上执行我的Jasmine规范(v 2.0),作为我的CI过程的一部分。我遇到的问题是,当它完成运行规范时,进程永远不会退出。我也看到它在超时时提前退出。我正在使用Teamcity Jasmine记者。
更多细节:我尝试了一个基于setTimeout的基本机制,在博客文章中找到(将在我找到URL时添加)和PhantomJs.org页面上的标准等待驱动脚本。在这两种情况下,规格永远不会完成。当通过TeamCity运行时,构建永远不会完成,尽管日志显示所有规范都已运行;如果我直接从命令行运行它,我会看到两件事之一:它完成然后无限期地坐在那里,或者在运行规范的过程中得到等待超时消息(即它没有完成)。
最后的细节:只有当我包含两个特定的规格时才会发生这种情况。一个是包含许多测试的长规范,另一个是简单自定义集合类型的规范。我包含它们的顺序没有区别。如果我单独运行任一规格,Phantom会正确退出。如果我将这些规格中的任何一个包含在所有其他规格中,Phantom会正确退出。只有在包含这两个特定规格时才会挂起。
我已经检查过我没有卸载茉莉花钟。
涉及的js数量太大而无法发布。