Ajax驱动的JavaScript运行时断言框架

sib*_*iba 11 javascript testing automated-tests unit-testing assertions

在使用越来越多的JavaScript代码处理更大的Web应用程序时,我们就如何提高代码质量进行了头脑风暴会议.

最初的想法之一是引入单元测试.这将是一个长期目标; 但是,这不会解决最常见的回归原因:更改DOM和浏览器特定问题.

单元测试在模拟的无DOM环境中运行,不在页面上.

我正在寻找的是一个断言框架,可以插入代码中,如下所示:

var $div = $("div.fooBarClass");
assertNotEmpty($div);
$div.fooBarAction();
Run Code Online (Sandbox Code Playgroud)

我发现断言框架可以做到这一点,但它们都可以登录控制台或进入DOM或打开一个愚蠢的弹出窗口.这些都不与(数千个)自动化测试一起工作. 我正在寻找的是一个运行时断言框架,它通过AJAX记录失败的断言!理想情况下,它应该是:

  • 内置了常见的断言.
  • 与JQuery模块,闭包集成.
  • 记录(通过Ajax)断言,文件名,页面,行号,失败原因,环境的一些预先配置的变量(浏览器,发行版本等).
  • 在出现故障时支持回调.(如果任何断言框架可以执行此操作,我很乐意写入回调来执行Ajax部分.)
  • 适用于所有浏览器.
  • 从生产版本中排除的微不足道.
  • 维护代码库.

Mr.*_*rat 0

我知道这不是您所要求的,但我强烈推荐Selenium来进行 Web 应用程序的自动化测试。

  • 内置常见断言。
  • 它可以测试任何 JS 框架,因为它驱动代码运行的浏览器。
  • 它具有强大的日志记录功能。
  • 浏览器支持取决于您的操作系统,但支持所有主要浏览器。
  • 生产版本中没有任何内容可以排除,因为测试是在应用程序外部进行的。
  • 代码库维护良好,您可以完全控制测试用例。