我有少量的 Javascript 需要测试,但它在整个页面上运行,例如,通过编号 id 查找元素,如“#t34”。我需要创建一些不同的页面来测试不同的可能配置。我看到我可以使用 qunit-fixture 创建一个 DOM 树以供测试访问,但每个页面配置都需要是一个完整的页面,因为它将通过 id 查找元素。
各种 qUnit 教程似乎都专注于执行简单算术的纯 Javascript 函数的简单示例。我需要帮助了解如何使用许多不同的文件构建真正的测试套件。
更新了更多详细信息:我是所有者覆盖率.py,Python 代码覆盖率工具。它生成 HTML 报告。这些报告使用 jQuery 来添加一点交互性。我添加了很多内容,并且希望自动化测试。 HTML 看起来像这样。不涉及服务器,这些只是写入本地目录的文件,因此没有 Ajax 的机会。我想针对许多不同的页面配置运行测试,主要与红色和绿色代码块的边缘情况有关。
因为我的代码按编号访问源行,如下所示$("#t123")
(例如),同一 DOM 中不能有多个 HTML“页面”,因为 id 会发生冲突。如何针对不同的 HTML 页面运行 qUnit?
#qunit-fixture 由 QUnit 自动重置,这意味着您可以用每个测试使用的标记填充它,或者将其留空并让每个测试填充它以利用自动休息。或者只使用每次测试后单独重置的标记。
您可以使用模块方法重构每个测试的设置和拆卸:http://docs.jquery.com/QUnit/module
在这种情况下,听起来一个不错的选择是对每个测试使用(同步)ajax 请求,将所需的页面标记加载到 #qunit-fixture 元素中。这样你只需要自定义设置,因为 QUnit 之后会重置。
即使您只处理文件系统中的本地文件,只要它们与测试套件文件位于同一目录中,您就应该能够通过 ajax 加载它们。
如果没有,很容易让本地服务器运行,例如通过“打开http://localhost-8080.com/&& python -m SimpleHTTPServer 8080”在该目录中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)