`
jeast
  • 浏览: 71654 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

谷哥的Javascript单元测试框架:Google JS Test

 
阅读更多

Google JS Test  是一个运行于V8 JavaScript引擎下的Javascript单元测试框架,其在Google内部负责对Chrome的快速JS执行速度进行测试,现在Google以开源工程开放大家使用。Google JS Test主要特性:

  • 超快的启动速度和执行时间,不需要在浏览器里运行
  • 清爽而具有可读性的输出内容
  • 也有一个可选的基于浏览器的测试器,可在JS修改的时候刷新
  • 其样式和语义跟Google Test for C++类似
  • 内置的Mocking框架只需要最简单的样板代码,其样式和语义基于Google C++ Mocking Framework
  • 匹配系统允许表达式测试,并可直观的阅读输出的错误提示,内置了很多匹配器,用户也可自行添加

function UserInfoTest() {
  this.getInfoFromDb_ = createMockFunction();
  this.userInfo_ = new UserInfo(this.getInfoFromDb_);
}
registerTestSuite(UserInfoTest);

UserInfoTest.prototype.formatsUSPhoneNumber = function() {
  // Expect a call to the database function with the argument 0xdeadbeef. When
  // the call is received, return the supplied string.
  expectCall(this.getInfoFromDb_)(0xdeadbeef)
    .willOnce(returnWith('phone_number: "650 253 0000"'));

  // Make sure that our class returns correctly formatted output.
  expectEq('(650) 253-0000', this.userInfo_.getPhoneForId(0xdeadbeef));
};

UserInfoTest.prototype.returnsLastNameFirst = function() {
  expectCall(this.getInfoFromDb_)(0xdeadbeef)
    .willOnce(returnWith('given_name: "John" family_name: "Doe"'));

  // Make sure that our class puts the last name first.
  expectEq('Doe, John', this.userInfo_.getNameForId(0xdeadbeef));
};

   The test's output is clean and readable:

[ RUN      ] UserInfoTest.formatsUSPhoneNumber
[       OK ] UserInfoTest.formatsUSPhoneNumber
[ RUN      ] UserInfoTest.returnsLastNameFirst
user_info_test.js:32
Expected: 'Doe, John'
Actual:   'John Doe'

[  FAILED  ] UserInfoTest.returnsLastNameFirst
[ RUN      ] UserInfoTest.understandsChineseNames
[       OK ] UserInfoTest.understandsChineseNames

 

0
0
分享到:
评论

相关推荐

    JavaScript单元测试工具安装说明书

    JavaScript单元测试工具JS Test Driver是一种高效且方便的测试框架,它允许开发者在无需打开浏览器的情况下进行JavaScript代码的单元测试,类似于Java的单元测试方式。这一工具显著提升了开发效率,减少了对浏览器...

    JavaScript Unit Testing 单元测试 PDF

    - JsTestDriver:是Google推出的一个JavaScript测试框架,它支持在不同的浏览器环境中并行运行测试。它提供了一个服务器端运行器,可以方便地集成到持续集成系统中。 在本书的学习过程中,读者将了解到如何设置测试...

    javascript测试.docx

    JSTestDriver是一个基于Java的JavaScript单元测试框架,由Google开发。JSTestDriver提供了一个灵活的测试环境,支持跨浏览器测试、Mock对象等功能。使用JSTestDriver,可以对JavaScript代码进行快速、可靠的测试。 ...

    GWTTestcase的单元测试

    标题 "GWTTestcase的单元测试" 涉及到的是使用Google Web Toolkit (GWT) 进行单元测试的方法。GWT是一个开源框架,它允许开发者使用Java语言编写客户端Web应用,然后编译成JavaScript运行在浏览器上。在GWT项目中...

    WEBKIT测试TEST工程

    1. **单元测试**:针对Webkit的各个模块进行独立测试,例如渲染引擎、JavaScript引擎(如V8)和网络栈等,确保每个组件的功能正确性。 2. **集成测试**:模拟真实环境,测试Webkit各组件间的交互,确保整体功能的...

    GwTest:Google Apps Script 的单元测试框架,松散地基于 python unittest

    测试Google Apps Script 的单元测试框架,松散地基于 python unittest。谷歌云端硬盘GwTest 也可以直接在 Google Drive 上访问:用法GwTest 用于测试自身; GwTest_test 中可用的套件提供了一些如何使用测试框架的...

    gjstest-1.0.5

    Google JS Test是一个运行于V8 JavaScript引擎下的JavaScript单元测试框架,其在Google内部负责对Chrome的快速JS执行速度进行测试,现在Google以开源工程开放给大家使用。 Google JS Test主要特性: 超快的...

    unit-test-injector:用于单元测试关闭的脚本注入器。 允许单元测试规范在关闭上下文中运行

    该脚本旨在用于任何JavaScript单元测试框架,包括Jasmine和QUnit。 它通过“策略”设置支持扩展。 QUnit中的示例: $inject ( "http://localhost/unit-test-injector/js/testiife.js" , function ( ) { QUnit . ...

    sixpack一个和语言无关的AB测试框架

    **六Pack:跨越语言的A/B测试框架** 在数字化时代,优化用户体验和提高转化率是企业和网站运营者的重要目标。A/B测试作为一种科学的方法,通过对比不同版本的页面或功能来确定哪个版本更能吸引用户、提升转化。而`...

    基于Dagger+Java ScriptEngine+Java Selenium的自动化测试框架.zip

    【描述】这个压缩包文件提供了一个集成Dagger依赖注入库、Java ScriptEngine用于执行JavaScript代码以及Java Selenium库的自动化测试框架。这样的框架旨在提升软件测试的效率和可维护性,特别适合于Web应用的端到端...

    WebVR-Test:测试WebVR框架

    本项目“WebVR-Test:测试WebVR框架”聚焦于利用JavaScript实现这一目标,特别是针对WebVR框架的测试。 在WebVR的世界里,JavaScript扮演着核心角色,因为它是Web开发的标准语言,能够处理用户交互、网络通信以及与...

    sam-ui-test是一个基于ChromeJestpuppeteer的自动化UI业务测试配置库

    综上所述,"sam-ui-test"是一个利用Node.js环境,结合Chrome浏览器、Jest测试框架以及Puppeteer自动化控制的UI业务测试工具。它提供了便捷的自动化测试方案,对于前端开发者和测试工程师来说,是一个高效且实用的...

    20200513-V8测试流程介绍以及指令选择单元测试源码分析-luyahan.pptx

    V8是Google开发的一款高性能的JavaScript和WebAssembly引擎,它被广泛应用于Chrome浏览器以及Node.js等环境中。在V8的开发过程中,测试是确保代码质量和性能的关键环节。本讲解主要聚焦于V8的测试流程以及指令选择...

    .Net 单元测试笔记

    NUnit 和 WatiN 是两个在 .Net 平台上广泛使用的测试框架,特别适合于B/S结构的应用系统进行单元和集成测试。 NUnit 是一个针对 .Net 应用程序的开源单元测试框架,它提供了一种简洁的方式来编写和执行测试用例。...

    AngularJS Test driven Development

    1. **单元测试与端到端测试相结合**:单元测试关注于测试单一组件的功能,而端到端测试则模拟用户交互来验证整个应用的行为。两者结合使用可以提供全面的测试覆盖。 2. **利用AngularJS内置工具**:AngularJS提供了...

    angular-test:angular.js 的测试仓库

    AngularJS 是一个强大的 JavaScript 框架,用于构建动态网页应用。它由 Google 主导开发,以其MVC(Model-View-Controller)架构和丰富的功能集而闻名。"angular-test" 仓库则专注于 AngularJS 的测试实践,为开发者...

Global site tag (gtag.js) - Google Analytics