我正在尝试使用jasmine-node来测试js文件。我们已经写了一些规范,当我们从命令行测试时,一切都很顺利。
然而,我们正在尝试在我们的ant构建中包含我们的测试,并且我已经尝试了几种组合:
<exec executable="jasmine-node" dir="${dir.src}" verbose="true" failonerror="true" outputproperty="stdout">
<arg value="--verbose" />
<arg value="--test-dir" />
<arg path="${dir.src}" />
</exec>dir.src只是我们的js文件和规范所在的基本目录。这些组合尝试将两个值移动到一行中,并将所有三个值移动到一行中,等等。
正如我所说的,在命令行中放置"jasmine-node --verbose --test-dir directory“效果很好。
如果有人能在这里提供任何帮助,那就太好了。
谢谢!
编辑:我把它放在一个trycatch代码块中。整个过程是这样的:
<trycatch>
<!-- execute tests -->
<try>
<apply executable="jasmine-node" dir="${dir.src}" verbose="true" failonerror="true" outputproperty="stdout">
<arg value="--verbose" />
<arg value="--test-dir" />
<arg path="${dir.src}" />
</apply>
</try>
<catch>
<property name="error" value="true" />
<echo message="Jasmine tests failing" />
</catch>
</trycatch>因此,控制台中的输出是"Jasmine测试失败“
发布于 2012-02-17 02:05:39
在删除了trycatch块之后,我收到了一条错误消息,告诉我在exec中不能让verbose="true“,尽管我发誓我以前在某个地方看到过这种情况。冗长总是使它失败,尽管因为我在那里有一个捕获,我没有得到一个好的错误消息。现在我要把trycatch放回去,这样我就可以运行命令了,因为如果开发人员构建没有安装jasmine,我们就会希望构建失败。
下面是我的jasmine-node调用。
<exec executable="jasmine-node" failonerror="true">
<arg line="--verbose ${dir.src}" />
</exec>这将打印我在命令行中运行jasmine-node时得到的正常跟踪内容,这正是我想要的。
另外,上面的应用只是我试图让它工作的东西。我真正想要的是一名高管,这是我一开始所拥有的。
发布于 2012-02-16 09:04:14
trycatch隐藏了一个调用apply任务的错误。ANT文档声明:
至少需要一个文件集或文件列表,并且不能指定多个映射器。
此外,apply任务通常用于对文件集中的每个文件调用命令...我不熟悉jasmine-node,但我怀疑您只想对一个目录调用它一次?
https://stackoverflow.com/questions/9299060
复制相似问题