flash网站优缺点,广元市网站建设,做网页原型图一张多少钱,网站推广怎么做与发布文章目录 测试#xff1a;Vitest一、安装二、断言三、回调测试四、对象方法五、模拟第三库 测试#xff1a;Vitest
一、安装
npm install vitest创建文件#xff1a;example.test.ts
运行测试#xff1a;
npx vitest example二、断言
import { expect, test } from vi… 文章目录 测试Vitest一、安装二、断言三、回调测试四、对象方法五、模拟第三库 测试Vitest
一、安装
npm install vitest创建文件example.test.ts
运行测试
npx vitest example二、断言
import { expect, test } from vitest;
test(number test, () {expect(1 1).toBe(2);
});
test(string test, () {const name MaxWell;expect(name).toBe(MaxWell);
});结果2 pass
三、回调测试 监控回调函数是否被调用 import { expect, test, vi } from vitest;
function testFn(number: number, callback: Function) {if (number 10) {callback();}
}
test(callback test, () {const callback vi.fn();testFn(12, callback);expect(callback).toHaveBeenCalled(); //callback是否被调用
});结果pass 1
四、对象方法 监控对象上的方法是否被调用 import { expect, test, vi } from vitest;
test(spy on method, () {const obj {getName: () 1};const spy vi.spyOn(obj, getName);obj.getName();expect(spy).toHaveBeenCalled();
});结果pass 1
五、模拟第三库 由于我们不可能等待异步请求的返回结果来测试这样会耗费太多事件所以使用 mock 模拟 import axios from axios;
import { expect, Mocked, test, vi } from vitest;
async function request() {const { data } await axios.get(example.url);return data;
}
// 使用 vi.mock 模拟 axios 模块的所有方法
vi.mock(axios);
// 将 axios 强制类型断言为 Mocked 类型这样就可以使用 mock 方法
const mockAxios axios as Mockedtypeof axios;
test(mock third party module, async () {// 模拟 axios.get 的返回值mockAxios.get.mockResolvedValue({ data: 1234 });const result await request();expect(result).toBe(1234);
});结果pass 1