NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Stephen Walther 谈 JavaScript 单元测试的集成

  • 2011-01-22
  • 本文字数:655 字

    阅读完需:约 2 分钟

为了适应自动化测试的需要,单元测试框架需要满足两个重要的指标。首先当然是程序库的质量了,因为你需要使用它来构建测试。其次是测试框架能够集成到你所使用的工具链当中。对于.NET 开发者来说,这意味着可以通过构建脚本在 IDE 中运行 JavaScript 测试。虽说如此,但大多数框架只关注于前者,Stephen Walther 则对后者展开了研究。

感兴趣的读者可以在 Stephen Walther 所发表的名为 Integrating JavaScript Unit Tests with Visual Studio 的文章中了解完整的设计,我们这里只是介绍一下其中的关键点。

最重要的事情就是他的设计中并没有浏览器组件,这很有意思。

  • 由于没有使用浏览器,因此测试的运行速度会非常快。
  • 环境非常纯粹。只有显式导入到测试引擎中的代码会执行,不会掺杂任何浏览器的东西。
  • 由于是个整洁、无浏览器的环境,因此你没法访问到 DOM 或是其他特定于 Web 的对象。
  • 虽然对于纯 JavaScript 库来说非常完美,但对于 UI 测试却完全不适合(这可以通过模拟特定于 Web 的对象来解决)。

虽然任何独立的 JavaScript 引擎都可以实现这个目标,但 Stephen 最终选择了 IE 下的 JScript 引擎、Windows Script Host 以及传统的 ASP。这样就可以通过 Windows Script Interfaces 与 Microsoft Script Control 公开给.NET 了。

他构建了一个非常原始的 JavaScript 测试库,用于填平 JScript 引擎与 MSTest 框架之间的沟壑。考虑到设计的简洁性,这项技术实际上可以将任意的 JavaScript 测试库、JavaScript 引擎和自动化测试框架组合起来。

查看英文原文: Stephen Walther on Integrating JavaScript Unit Tests

2011-01-22 20:451115
用户头像

发布了 88 篇内容, 共 258.6 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

火山引擎DataLeap计算治理自动化解决方案实践和思考

字节跳动数据平台

大数据 数据中台 数据治理

mac Office2021中文破解版 Office LTSC 2021完整激活版下载

影影绰绰一往直前

SpringBoot 项目优雅实现读写分离 | 京东云技术团队

京东科技开发者

数据库 spring Spring Boot 读写分离 企业号11月PK榜

IPQ9574 vs IPQ9554 vs QCN9274 vs QCN6274 Industrial Applications|WiFi 7 Use Case

wallyslilly

ipq9554 qcn9274 qcn6274 ipq9574

Snagit for mac(屏幕截图工具) 2023.2.4中文激活版

mac

苹果mac Windows软件 Snagit 屏幕截图视频录制软件

纯CSS实现魔法渐变边框卡片

南城FE

CSS css3 前端 用户体验

Mac电脑快速切换工具 One Switch激活中文最新版

胖墩儿不胖y

Mac软件 切换工具 Mac软件切换软件

如何构建可视化设计中的视觉层次?

搞大屏的小北

数据可视化 视觉交互 大屏设计 设计规范

多面板文件管理器:QSpace Pro中文版

mac大玩家j

文件管理 Mac软件 文件管理器

解决制造业痛点,数据化方案助力高效生产!

搞大屏的小北

数据分析 数据可视化 制造业

SpringCloud全链路灰色发布具体实现!

王磊

Java SpringCloud

怎样阅读 h2 数据库源码 | 京东物流技术团队

京东科技开发者

数据库 源码 h2database 企业号11月PK榜

许多朋友问我有没有好用的海外代理IP

Geek_ccdd7f

OpenHarmony 4.0 Release版本发布,新增4000+ API

新消费日报

The Unarchiver mac解压软件 支持M1/M2

影影绰绰一往直前

TDengine 与煤科院五大系统实现兼容性互认,助力煤矿智能化安全体系搭建

TDengine

tdengine 时序数据库

Final Cut Pro 10.6.10 mac破解版下载

iMac小白

一台亚马逊EC2对开发者而言意味着什么?

申屠鹏会

IPQ8072: The future of high-performance Network Acceleration - Wireless Communications

wifi6-yiyi

5G wifi6 IPQ8072 6G

数据可视化新秀 DataEase 可否替代 Tableau?

搞大屏的小北

数据可视化 Tableau 替换 DataEase

Adobe Media Encoder 2024 for mac 中文破解版下载

影影绰绰一往直前

国内外四款强大的远控使用体验:ToDesk、向日葵、AnyDesk、Microsoft 远程桌面横向比较

挚爱光小胖

远程控制 ToDesk 居家办公软件

从混乱到优雅:基于DDD的六边形架构的代码翻新指南 | 京东物流技术团队

京东科技开发者

架构 DDD 分层架构 企业号11月PK榜

Java表达式引擎选型调研分析 | 京东云技术团队

京东科技开发者

Java 后端 企业号11月PK榜 表达式引擎 Java表达式

Python标准库中隐藏的利器

EquatorCoco

Python 编程语言 标准框架

构建全面预算体系,加强企业风险管理

智达方通

企业风险管理 风险控制 全面预算管理 全面预算体系

Stephen Walther谈JavaScript单元测试的集成_Java_Jonathan Allen_InfoQ精选文章