MoqJS - JavaScript 和 TypeScript 的模拟库
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 中找到更多示例、构建和代码