javascript - 如何在调用另一个方法之前检查一个方法是否被调用
问题描述
我有一个调用的方法mainMethod()
,它返回一个承诺。此方法包含几种方法m1()
,m2()
...,m5()
。现在我正在使用sinon
,
我想检查是否被m1()
调用和m2()
未被调用。
因为我有一个数组在调用后不为空m1()
,但在调用后它将为空m2()
。
我想在调用之后m1()
和调用之前进行检查或测试m2()
。
可以使用sinon
吗?
解决方案
是的,可以使用诗乃。它有calledAfter
和calledBefore
。
http://sinonjs.org/releases/v6.1.3/spies/
例如
it('some testing', function() {
var m1 = { method: function () {} };
var m2 = { method: function () {} };
var spyM1 = sinon.spy(m1, "method");
var spyM2 = sinon.spy(m2, "method");
m1.method(42);
m2.method(1);
assert(spyM1.calledBefore(spyM2));
assert(spyM2.calledAfter(spyM1));
});
推荐阅读
- php - 想学习/运行 PHP 单元测试但是意识到我有旧版本的 PHP
- java - 将对话框中的数据插入 Android Studio 上的 Firestore 数据库
- javascript - Firebase中foreach循环的顺序执行
- c# - 在运行时 c# 在字符串数组中添加值
- python - 在 python 中的一个脚本中生成更多图中单独的图
- c# - .NET Core 3.1 中的 LINQ JOIN
- git - git 仅获取特定的标签子集
- docker - 我有一些关于 Kubernetes 部署的问题
- excel - 将两个工作表复制到不同的工作簿中,替换当前数据
- ruby-on-rails - Nginx 将 Rails 路由作为默认页面