jasmine javascript测试django集成。
django-jasmine的Python项目详细描述
主人:
开发:
欢迎提出请求和问题!
django jasmine集成了 Jasmine Javascript testing framework 用Django。茉莉花是一种行为驱动 测试javascript代码的开发框架。这不取决于 任何其他javascript框架。它不需要dom。它有一个 干净、明显的语法,以便您可以轻松编写测试。
django jasmine还集成了 jasmine-jquery插件,那个 为jquery框架提供一组自定义匹配器,并提供一个用于处理 你的规格中的html装置。
安装
- pip安装django jasmine
- 将“django_jasmine”添加到您的设置中。已安装的应用程序。
- 添加settings.jasmine_test_目录,其中包含到javascript的路径 茉莉花测试文件。files.json应该在这个目录中,并且所有测试 文件应该在os.path.join中(settings.jasmine_test_目录,spec')*
- 确保已正确定义静态URL。
- 将所有javascript文件(包括jquery和任何其他库)添加到 files.json
- 添加urlconf以包含('django_jasmine.url')。
- 访问urlconf中包含的url以显示jasmine测试 结果。
- 从jasmine github repo添加相应的标记,以指定要测试的jasmine版本。否则将加载最新的标记(当前为v2.4.1)。
jasmine现在通过cdn.rawgit.com加载。如果jasmine未正确加载,将显示一条非常明显的错误消息。
有关详细信息,请参阅示例项目目录。
模板
如果您出于任何原因想要修改jasmine索引模板(例如,添加一个新的 jasmine reporter),您可以创建jasmine/index.html模板,如下所示:
{% extends "jasmine/base.html" %} {% block jasmine_preload %} {# If you need to do any setup before dependencies in files.json are loaded (like define app namespace) #} {% endblock %} {% block jasmine_extra %} {# If you want to extend the default jasmineEnv config #} {% endblock %} {% block jasmine %} {# If you wish to rewrite the whole html runner script #} {% endblock %}
读取默认配置的templates/jasmine/base.html
固定装置
jasmine jquery允许添加fixture,可以将它们设置为 join(settings.jasmine_test_目录,“fixtures”)。然后在您的规范中:
jasmine.getFixtures().fixturesPath = "/jasmine/fixtures/"; loadFixtures("template.html")
调试
如果遇到一些不易调试的错误,可以添加 向你的伐木工人们说“django_jasmine”。
与./manage.py测试集成
为此,我建议使用 EnvJasmine,并使用 Fabric运行envjasmine 运行manage.py测试
待办事项
- 不断改进django测试
- 添加咆哮/通知通知
- 彻底测试fixtures和jasmine jquery特性。
- 改进自述文件。
- 对版本url使用更具体的模式匹配器。
- 改进jasmine无法通过cdn加载时的错误消息。
许可证
版权所有(c)2010 Movity,Inc 许可新型bsd,也包含茉莉,这是许可麻省理工学院。见 有关详细信息,请参阅许可证文件。