跳转到主要内容

Open End JavaScript测试和实用工具套件

项目描述

jskit包含基础设施,特别是py.test插件,允许使用py.test作为测试驱动程序直接在浏览器中运行JavaScript代码的测试。在浏览器中运行会带来一些速度成本,另一方面,它意味着代码是对现实世界的DOM实现进行测试的。

这种方法还允许编写集成测试,以便JavaScript代码可以针对必要的模拟作为服务器端Python代码进行测试。任何可以通过WSGI公开(或为适应jskit自身需求而编写WSGI子集)的已存在的服务器端框架都可以参与其中。

jskit还支持从基于unittest.py的测试套件运行JavaScript测试。

jskit还包含帮助模块化JavaScript代码的代码,这些代码可以在开发过程中动态描述和跟踪依赖关系,并在部署/打包时帮助静态解析它们。

已知支持的浏览器有Firefox、Internet Explorer >=7 和 WebKit浏览器。

jskit现在支持py.test 2.0和较晚的py.test 1.x。

jskit需要Python 2.6或2.7。它还使用MochiKit - 其中包含它自己的版本以方便使用 - 用于其自身的工作,尽管它不会强加其对测试代码的使用。

jskit最初由Open End AB开发,并使用MIT许可发布。

其余的文档...

2009年Europython会议及示例

项目仓库位于http://bitbucket.org/pedronis/js-infrastructure/

讨论和反馈应发送至py-dev@codespeak.net

变更日志

0.9.0

  • 将重用一个标签页/窗口及其对应的浏览器测试对象作为默认设置,以便在会话中使用相同的设置进行所有测试,当使用 py.test 2.0(它会先收集所有测试)时,此行为会被强制执行。

  • 现在支持 py.test 2.0! py.test 1.x 仍然可以正常工作。

  • 在测试运行期间,在页面右上角显示一个链接列表,以便跳转到对应于 JavaScript 测试文件或 Python 模块的输出部分。

  • 各种内部清理和简化。

  • 对文档进行了一些轻微的刷新和编辑。

  • 修复了查找 jstests_setup 值的问题,以正确考虑 conftest.py 的链。

  • MochiKit 的使用实际上是实现细节,在测试中通过 __export__=false 默认导入它,这意味着仅 MochiKit 名称在全局(window)命名空间中定义,在 jstests_setup 中使用,以获得旧的行为。

    class jstests_setup:
        MochiKit__export__ = True

0.8.9

  • 可选地将服务器端如何表示测试将从中提供的 baseurl 的外观委托给服务器,这在使用 oejskit 进行功能测试时很有用,可以滥用代理。

  • 将打包更改为仅提供源 tar 文件,这使得打包更容易。

  • 需要 Python 2.6 或 2.7。

0.8.8

  • 改进了用于跳过测试的浏览器存在性检查的代码,这意味着在浏览器规范中列出不存在的浏览器不应引发问题。

  • 针对 FF3.5 中由全局变量泄漏检测代码触发的 bug 的解决方案,在 FF3.5 中没有泄漏检测 :(

0.8.7

  • 通过文档提供对浏览器.py 服务器浏览器名称的灵活 user-defined-name=commandline 控制。

  • 记录与标准库 unittest.py 的粘合剂。

  • 当浏览器无法启动时,提供更好的错误报告。

  • 使用 Python >=2.6 中的 json 模块,否则使用 simplejson。

  • 将 py.test 插件移动到 oejskit 包中,通过 pytest11 setuptools 入口公开。

  • 修复与 py.test 1.1.x 相关的仅限自己的测试问题和警告。

0.8.6

  • 修复 py.test 1.0 最终兼容性问题。

  • 对标准库 unittest.py 的实验性粘合剂(尚未提供文档)。

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面