跳转到主要内容

一系列测试辅助工具。

项目描述

请参阅https://dev.launchpad.net/LazrStyleGuidehttps://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 (23.9 kB 查看哈希值)

上传时间: 源代码

由以下支持