写点什么

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:451191
用户头像

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

关注

评论

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

Web Components 系列(八)—— 自定义组件的样式设置

编程三昧

前端 组件化 2月月更 WebComponent

11种绕过CDN查找真实IP方法

喀拉峻

网络安全

CTF题目中遇到的PHP考点总结(一)

H

php CTF WEB安全

当 TiDB 遇上 Flink:TiDB 高效入湖“新玩法” | TiLaker 团队访谈

PingCAP

Ti-Click:通过浏览器快速搭建 TiDB 在线实验室 | Ti-可立刻团队访谈

PingCAP

焱融科技加入中国通信工业协会人工智能专业委员会,共创数智新未来

焱融科技

人工智能 云计算 分布式 高性能 文件存储

会声会影剪辑视频教程讲解

懒得勤快

车联网平台搭建从入门到精通 01|车联网场景中的 MQTT 协议

EMQ映云科技

车联网 物联网 通信 mqtt 平台搭建

一行代码:开启 eBPF,代替 iptables,加速 Istio

Daocloud 道客

istio 开源项目 网络加速 服务网格 ebpf

详解CNN实现中文文本分类过程

华为云开发者联盟

机器学习 CNN 深度神经网络 文本分类 Word2Vec

EdgeDB 架构简析

CRMEB

GPU在Kubernetes中的使用与管理 | 社区征文

大菠萝

新春征文

[建造者模式实战]如何用JAVA实现一个基于POI的复杂表格导出工具类?

山河已无恙

Java 2月月更

9期视频告诉你如何更正确更高效的使用Git

阿里云云效

git 阿里云 云原生 代码 研发

服务网格在联通的落地实践

百度开发者中心

网络安全kali渗透学习 web渗透入门 DDOS的原理和防护

学神来啦

边缘计算加速视频直播场景:更清晰、流畅、实时

火山引擎边缘云

边缘计算 视频直播 异构算力

云效Flow如何实现阿里云ECS多环境发布

阿里云云效

阿里云 运维 云原生 软件开发 研发

敏捷开发流程的8个步骤

爱吃小舅的鱼

《新程序员》杂志|李鹏辉谈开源云原生消息流系统

Apache Pulsar

开源 架构 云原生 中间件 Apache Pulsar

平安科技从 Oracle 迁移到 UbiSQL 的实践

PingCAP

解构流存储 — Pravega,与 Flink 构建端到端的大数据流水处理线

Apache Flink

大数据 flink 开源 编程 实时计算

JAVA 那些事 - 聊聊那些易混淆的概念:JVM/JRE/JDK,openJDK/oracleJDK,JAVA SE/JAVA EE/Jakarta EE

明哥的IT随笔

jdk Openjdk Java EE

数据分析实际案例之:pandas在泰坦尼特号乘客数据中的使用

程序那些事

Python 数据分析 pandas 程序那些事 2月月更

火山引擎 MARS-APMPlus X 美篇 | 形成应用性能全面监控,大幅提升APP稳定性

字节跳动终端技术

字节跳动 APM 性能监控 应用性能监控产品 火山引擎MARS

金融行业研发管理平台选型

帅气IT小哥

数智时代,谁都做平台,谁都做生态!这行吗?

海比研究院

恒源云(GpuShare)_AIphaCode是否能取代程序员?

恒源云

深度学习 AI transformers

技术人聊开源:这并不只是用爱发电

SOFAStack

开源

FinClip 的 2021 与 2022

FinClip

产品设计与思考

跨平台应用开发进阶(一) :走近 uni-app

No Silver Bullet

uni-app 跨平台 实战 2月月更

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