BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Stephen Walther谈JavaScript单元测试的集成

| 作者 Jonathan Allen 关注 612 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2011年1月23日. 估计阅读时间: 2 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

为了适应自动化测试的需要,单元测试框架需要满足两个重要的指标。首先当然是程序库的质量了,因为你需要使用它来构建测试。其次是测试框架能够集成到你所使用的工具链当中。对于.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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT