65.9K
CodeProject 正在变化。 阅读更多。
Home

MoqJS - JavaScript 和 TypeScript 的模拟库

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.67/5 (3投票s)

2015年4月8日

CPOL
viewsIcon

28887

JavaScript 的模拟库

引言

这是一个基于 .NET Moq 框架的 Javascript/Typescript 测试简单框架。

背景

我曾经是一名 .NET 程序员,习惯使用 Moq 框架进行测试。当我转向 Javascript 时,有很多模拟框架可以选择,但我习惯了 Moq,并且惊讶地发现 Javascript 并没有 Moq 的实现。所以我决定尝试创建它。

安装

npm install moqjs --save-dev

Using the Code

由于运行时缺乏接口,该框架的工作方式与 Moq 略有不同。

所以,最好的方法是改变现有对象的行为。

因此,我决定“mock”这个术语不太合适,并将其改为“mole”,在这里更合适。

以下是一些基本示例

// Create some object instance
var dog = new Dog();

// Create a mole for the object
var mole = new Mole(dog);

// Setup behavior
mole.setup(_dog => _dog.eat('meat')).returns('Yum yum yum');

// Invoke
var result = dog.eat('meat');

// Verify the given method was indeed called with the expected value exactly once
var isVerified = mole.verify(_dog => _dog.eat('meat'), Times.exact(1));

更新

2016年4月1日 (版本 1.1.0)

  • 将测试更改为 mocha + sinon + chai
  • 重构项目以使用 require
  • 将项目从 VisualStudio 移动到普通文件夹项目

2016年4月14日 (版本 1.1.1)

  • 添加了公共 License 文件

GitHub

你可以在我的 git 中找到更多示例、构建和代码

© . All rights reserved.