1、单元测试:单元测试通常适用于独立的业务逻辑、组件、类、模块或函数,不涉及 UI 渲染、网络请求或其他环境问题。
javascript
describe('increment', () => {
// 测试用例
})
toBe():用于严格相等比较(===),适用于原始类型或检查引用类型是否指向同一个对象。
toEqual():用于深度比较,检查两个对象或数组的内容是否相等(即使它们不是同一个对象)。
例如:
test('increments the current number by 1', () => {
expect(increment(0, 10)).toBe(1)
})
// 描述:测试 increment 函数是否将当前数字递增 1。
// 输入:increment(0, 10),表示当前值为 0,最大值为 10。
// 预期输出:1。
// 断言:使用 expect 和 toBe 检查函数返回值是否等于 1。
**2、组件测试:**应该捕捉组件中的 prop、事件、提供的插槽、样式、CSS class 名、生命周期钩子,和其他相关的问题。
组件测试主要需要关心组件的公开接口而不是内部实现细节。对于大部分的组件来说,公开接口包括触发的事件、prop 和插槽。当进行测试时,请记住,测试这个组件做了什么,而不是测试它是怎么做到的。
**3、端到端测试:**端到端测试通常会捕捉到路由、状态管理库、顶级组件(常见为 App 或 Layout)、公共资源或任何请求处理方面的问题。如上所述,它们可以捕捉到单元测试或组件测试无法捕捉的关键问题。