要测试forEach是否调用了savePost三次,可以采取以下步骤:
let counter = 0;
function forEach(array, callback) {
for (let i = 0; i < array.length; i++) {
callback(array[i]);
}
}
const posts = [/* 三个元素 */];
function savePost(post) {
// 保存帖子的逻辑
counter++;
}
// 调用forEach函数,并传入测试数据和模拟的savePost函数
forEach(posts, savePost);
// 使用断言库chai断言counter的值等于3
assert.equal(counter, 3);
完整的测试代码如下所示:
let counter = 0;
function forEach(array, callback) {
for (let i = 0; i < array.length; i++) {
callback(array[i]);
}
}
const posts = [/* 三个元素 */];
function savePost(post) {
// 保存帖子的逻辑
counter++;
}
forEach(posts, savePost);
assert.equal(counter, 3);
在这个例子中,我们通过模拟forEach函数和savePost函数,以及使用断言来验证savePost函数是否被正确调用了三次。这种测试方法可以在不依赖具体实现的情况下,验证代码的逻辑是否正确。
领取专属 10元无门槛券
手把手带您无忧上云