我正在尝试在Maven中使用jstestrunner和qunit设置一些javascript单元测试。我从事过许多Java单元测试,包括设置基础结构,但是我对Javascript却不熟悉。 jstestrunner页面上的设置信息会跳过关键信息。我会在jstestrunner邮件列表上询问此问题,但是他们在codehaus页面上的邮件列表链接是无效的,除了找到JIRA,我找不到找到开发负责人Christopher Hunt的方法。似乎不合适。

用法页面讨论有关设置phantomjs的问题,但未提及qunit接口。我想这对于经常使用qunit的人可能很明显。

我已经创建了根JUnit测试包装器,但是我看不到如何设置缺少的qunit链接。

最佳答案

我一直在使用QUnit,phantomjs,ant和a qunit-runner的修改版本运行一些QUnit测试。该代码本身在一个封闭源代码项目中,但是要点是,我在一个只有一个目标即ant test目标的build.xml文件上调用test

test目标使用qunit-runner和一些命令行参数调用phantomjs。涉及到一些魔术,例如猜测qunit-runner想要一个package.json来从中注入要测试的文件。测试本身通过使用ant构建文件中的参数通过。

对于要测试的每个文件,我都有单独的测试文件,并且每个测试文件至少具有一个module定义。

qunit-runner为qunit构造配置对象,注入要测试的文件,并包含qunit流程各个阶段的回调钩子,这使我可以构造看起来像jUnit的xml,以馈入Jenkins构建服务器页面。

我同意您的最初结论,即JavaScript世界的单元测试框架仍处于起步阶段。但是另一方面,JavaScript是一种非常具有延展性的语言,几乎没有铁制的惯例可以作为测试框架的基础。在其他语言中,如果没有某种模拟框架与单元测试框架配合使用,您也不会走得太远。

关于javascript - 使用qunit和jstestrunner的真实示例?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16944103/

10-12 03:38