mock 和 stub 的区别
单元测试中
-
stub 是一种控制间接输入的方式,替换掉了间接输入的真实实现。
stub 只用返回一个值即可。
// stub
vi.mock("packageName", () => {
return {
functionName: () => 2,
};
}); -
mock 是指一种测试替身。
mock 作为测试替身,不仅可以记录行为验证所需的交互信息,还可以提供验证。
mock 比 stub 多了记录交互的信息和进行验证的功能。
mock 在 stub 的基础上,还要记录交互信息。
// mock
vi.mock("packageName", () => {
return {
functionName: vi.fn(() => 2),
};
});