Javascript-测试DOM操作

Steviebob

我开始使用Mocha和Chai为我的JavaScript编写单元测试,并通过Node执行测试。如果我可以通过node运行所有测试,而不需要真正的浏览器/ html页面,则我更喜欢它。
.js文件是作为RequireJs模块编写的,我想我掌握了如何编写一些逻辑单元测试(即那些不操纵DOM的测试)的方法。

我现在坚持的一点是,如何测试执行DOM操作的功能?

我会被迫更改功能签名以传递将要作为参数操作的所有元素吗?(这可能不是一件坏事-但是如果我处理许多元素,可能会导致传递很多参数)?

另外,如何在不影响服务器的情况下测试AJAX响应?我想做的是模拟AJAX响应并测试我的代码如何处理它。例如,伪造404响应并查看会发生什么情况。
我听说过SinonJ,但还不熟悉。
如果我使用JQuery进行AJAX调用,是否应该将$ .ajax存根以得到所需的结果?

基于以上所述,在js测试方面我会缺少什么吗?我上面已经描述了什么明显的,没有意义的东西,或者似乎是我以错误的方式来做吗?

我已经看过PhantomJs,但是不太确定它的适合位置,它似乎最适合在运行的环境中进行测试(我想更接近于集成测试)-这是正确的假设吗?

妮可

关于DOM操作的测试,您可以使用一个名为的模块jsdom该模块是用JavaScript实现的无头浏览器。因此,您获得了DOM,但是您的测试仍在Node.js中运行,而且速度很快。缺点是您无法测试浏览器的特殊性,因为jsdom它与其他浏览器无关。

关于AJAX调用的测试,sinon.js确实非常有帮助。您可以存入$ .ajax,但是如果您想进行更深入的测试,还可以在浏览器中存入XMLHttpRequest(或者实际上是在jsdom中)。我写了一篇关于此的博客文章:http : //nicolerauch.de/2015/12/20/lightweight-stubbing-of-ajax-requests-in-javascript.html(底部有一个指向Github的链接使用工作代码进行回购,并使用mocha和node.js和jsdom进行测试)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript-测试DOM操作

来自分类Dev

Javascript单元测试-DOM操作

来自分类Dev

JavaScript DOM表操作

来自分类Dev

简单的JavaScript DOM操作

来自分类Dev

Javascript dom操作内存泄漏

来自分类Dev

没有JavaScript的DOM操作

来自分类Dev

数据对象的Javascript dom操作

来自分类Dev

@media查询被JavaScript DOM操作覆盖

来自分类Dev

Javascript DOM 操作:更改元素的文本

来自分类Dev

removeChild 和 addEventListener 的 Javascript DOM 操作错误

来自分类常见问题

Javascript进行DOM操作后的Python GET请求

来自分类Dev

捕获通过dom操作加载的Javascript子文件中的错误

来自分类Dev

在JavaScript提交操作期间从DOM中删除HTML表单

来自分类Dev

捕获通过dom操作加载的Javascript子文件中的错误

来自分类Dev

在JavaScript提交操作期间从DOM中删除HTML表单

来自分类Dev

用于管理DOM操作和属性的Javascript库

来自分类Dev

Javascript:测试多维数组内的操作是否与数字匹配

来自分类Dev

使用JavaScript Selenium Webdriver,如何在测试期间获取DOM的HTML?

来自分类Dev

使用Javascript DOM操作从下拉列表值更改HTML元素

来自分类Dev

尝试通过使用JavaScript和DOM操作的用户输入来创建网格

来自分类Dev

使用Java而不是Javascript作为DOM操作语言的浏览器

来自分类Dev

在html页面上,javascript是唯一以编程方式操作DOM的方法吗?

来自分类Dev

JavaScript-所有DOM操作函数都返回null / empty吗?

来自分类Dev

我的javascript提示脚本不起作用。访问和操作DOM

来自分类Dev

JavaScript中面向对象的DOM操作中的令人困惑的混搭

来自分类Dev

使用 JavaScript 或 jQuery 通过移动其兄弟元素内的元素来操作 DOM

来自分类Dev

尝试使用JavaScript进行Selenium WebDriver测试的拖放操作时出错

来自分类Dev

使用测试运行器来测试操作 DOM 的函数

来自分类Dev

javascript对象与DOM对象

Related 相关文章

  1. 1

    Javascript-测试DOM操作

  2. 2

    Javascript单元测试-DOM操作

  3. 3

    JavaScript DOM表操作

  4. 4

    简单的JavaScript DOM操作

  5. 5

    Javascript dom操作内存泄漏

  6. 6

    没有JavaScript的DOM操作

  7. 7

    数据对象的Javascript dom操作

  8. 8

    @media查询被JavaScript DOM操作覆盖

  9. 9

    Javascript DOM 操作:更改元素的文本

  10. 10

    removeChild 和 addEventListener 的 Javascript DOM 操作错误

  11. 11

    Javascript进行DOM操作后的Python GET请求

  12. 12

    捕获通过dom操作加载的Javascript子文件中的错误

  13. 13

    在JavaScript提交操作期间从DOM中删除HTML表单

  14. 14

    捕获通过dom操作加载的Javascript子文件中的错误

  15. 15

    在JavaScript提交操作期间从DOM中删除HTML表单

  16. 16

    用于管理DOM操作和属性的Javascript库

  17. 17

    Javascript:测试多维数组内的操作是否与数字匹配

  18. 18

    使用JavaScript Selenium Webdriver,如何在测试期间获取DOM的HTML?

  19. 19

    使用Javascript DOM操作从下拉列表值更改HTML元素

  20. 20

    尝试通过使用JavaScript和DOM操作的用户输入来创建网格

  21. 21

    使用Java而不是Javascript作为DOM操作语言的浏览器

  22. 22

    在html页面上,javascript是唯一以编程方式操作DOM的方法吗?

  23. 23

    JavaScript-所有DOM操作函数都返回null / empty吗?

  24. 24

    我的javascript提示脚本不起作用。访问和操作DOM

  25. 25

    JavaScript中面向对象的DOM操作中的令人困惑的混搭

  26. 26

    使用 JavaScript 或 jQuery 通过移动其兄弟元素内的元素来操作 DOM

  27. 27

    尝试使用JavaScript进行Selenium WebDriver测试的拖放操作时出错

  28. 28

    使用测试运行器来测试操作 DOM 的函数

  29. 29

    javascript对象与DOM对象

热门标签

归档