detro / phantomjs-jasminexml-example
一个PhantomJS / jasminexml JavaScript测试示例
This package is not auto-updated.
Last update: 2024-09-22 02:36:57 UTC
README
警告 - 警告 - 警告
当我写这个时,我的目的是发布一个PhantomJS、Maven和Jasmine之间集成的示例。我没有维护另一个项目的意愿,而且我发现很多人把它当作一个项目。
以此为例,然后按照自己的方式前进。我已经关闭了问题跟踪器。
顺便说一句:是的,我可能应该以Gist的形式发布这个...
PhantomJS - Jasmine XML - 示例项目结构
描述
这是一个示例项目结构,它使用Jasmine在PhantomJS之上实现JavaScript单元测试。
它设计用于独立使用或在Maven中使用。
应该与PhantomJS版本 >=2.2.0 正确工作。
独立使用
$ phantomjs test/phantomjs_jasminexml_runner.js test/test_runner.html xml_output_dir/
这将生成一组XML输出,每个Jasmine测试套件一个。
在Maven中使用
该项目已经提供了一个pom.xml
文件,它可以完成这项工作。所以简单的
$ mvn test
或
$ mvn clean install
将启动测试,如果所有测试都通过,则使mvn构建通过。如果任何测试失败,则mvn构建失败。
内部机制
在这里解释PhantomJS的内部机制是没有意义的,但为了理解它是如何工作的,你需要理解一个简单的想法:PhantomJS提供了一个主要的“JavaScript上下文”,用户可以在其中“孵化”一个WebPage,从而有效地创建另一个“JavaScript上下文”。
新的上下文具有以下特征
- 隔离 - 页面不知道任何关于phantom和phantom API的信息
- 可控制 - 主要phantom上下文提供了API来控制/影响页面上下文
那么,它是如何工作的呢?
这个“魔法”由两个脚本完成
test/phantomjs_jasminexml_runner.js
test/lib/jasmine-reporters/jasmine.phantomjs-reporter.js
jasmine.phantomjs-reporter.js
是Jasmine的一个插件,它将测试结果保存到运行测试的网页底部。
phantomjs_jasminexml_runner.js
则负责运行测试,从页面中提取结果,然后将其保存到指定的目录(见源代码)。
祝您测试愉快 ;-)
许可:公有领域
此项目的代码在公有领域下发布,因此您不需要做任何事情,只需使用和享受它。
如果您出于好意想在您的工作中提及这个项目作为“灵感”,请随时这样做。但您没有义务这样做。