一系列测试辅助工具。
项目描述
请参阅https://dev.launchpad.net/LazrStyleGuide和https://dev.launchpad.net/Hacking了解如何在包中开发。
使用JsTestDriver进行JavaScript测试
lazr.testing支持在JsTestDriver的帮助下运行JavaScript测试,并将失败和错误报告回基于unittest的测试运行器,就像它们是unittest TestCase的失败和错误一样。
要实际运行测试,必须启动(如果尚未运行)浏览器并将其捕获到JsTestDriver服务器。由于我们通常只想这样做一次,因此JsTestDriver服务器作为子进程使用zope.testing对层的支持启动和停止。
JsTestDriver支持以基于XML的格式输出测试结果,我们将解析并将其馈送到unittest的TestResult实例。
编写测试
请参阅关于如何编写JsTestDriver支持的测试的JsTestDriver TestCase文档。
此外,lazr-js项目有一些在JsTestDriver下运行基于YUI Test的测试的示例。
如果已经使用zope.testing作为测试运行器(另见未来计划),则将JavaScript测试作为测试套件的一部分运行相当简单。您只需定义一个具有指向JsTestDriver配置文件的config_filename属性的JsTestDriverTestCase子类。例如
from lazr.testing.jstestdriver import JsTestDriverTestCase class JsTestDriverSelfTest(JsTestDriverTestCase): config_filename = os.path.abspath(os.path.join(os.path.dirname(__file__), "js", "tests.conf"))
运行测试
为了实际运行测试,您需要指定JsTestDriver的位置。这可以通过导出环境变量来完成
JSTESTDRIVER="java -jar /path/to/JsTestDriver.jar" ./bin/test
默认情况下,如上所述,测试层将启动一个JsTestDriver服务器并连接到默认浏览器。然后,实际的测试运行将作为客户端执行JsTestDriver,连接到该服务器以驱动JavaScript测试。此变量**必须**始终存在,无论以下描述的其他变量如何。
您可以使用另一个环境变量控制服务器使用的端口。默认情况下,服务器将在端口4224上启动
JSTESTDRIVER_PORT="10001"
还有可能(并且非常方便!)有一个长期运行的JsTestDriver服务器并将其手动连接到它。如果您想这样做,您必须导出另一个变量,告诉您的JsTestDriver服务器在哪里运行(提示:这甚至可以是远程服务器)
JSTESTDRIVER_SERVER="https://127.0.0.1:10001"
还可以通过将BROWSER环境变量设置为浏览器可执行文件的完整路径来控制启动的浏览器。
如果您的默认浏览器是Firefox,每次在后台运行测试时打开新标签页并将Firefox自动切换到它可能会很烦人。您可以通过在“首选项”->“选项卡”中禁用名为“当我在新标签页中打开链接时,立即切换到它”的选项来禁用此功能。如果您尚未启用,启用“在新标签页中打开新窗口”选项可能也有趣。
最后,如果您对每次测试运行都打开新标签页感到非常烦恼,您可以选择有一个长期运行的JsTestDriver服务器,如上所述,并手动连接到它。这样,只会使用浏览器的一个标签页,并且每次测试运行都会重用该标签页。
未来计划
在未来,测试层可能被testresources所取代,自定义XML解析可能被使用subunit流过滤器所取代。
lazr.testing的NEWS
0.1.2 (2010-09-06)
增加对JsTestDriver 1.2.2的兼容性。不再与JsTestDriver的早期版本兼容。
如果JsTestDriverLayer没有启动浏览器,请勿等待浏览器。(LP: #627413)
0.1.1 (2009-10-16)
棕色纸袋,搞砸的NEWS发布。
0.1.0 (2009-10-16)
初始版本
项目详情
lazr.testing-0.1.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e31303b9936e98ef9f3bcfbd092bd1aad29baf42af4c47fbf45927c99297b07a |
|
MD5 | b4db0be34e8bde1fa795764c1534a25c |
|
BLAKE2b-256 | 5e6812a4b302fce5b3b4007afd8bbc4b69965e6acc3722003f866362c56f8a52 |