Jest 是一款流行的 JavaScript 测试框架,由于其易用性和功能丰富的特点,被广泛应用于前端开发中的单元测试。在 Jest 中,断言和期望是测试的核心,因此了解 Jest 中的断言和期望是非常重要的。
断言和期望
在 Jest 中,断言(assertions)是测试中的语句,用于判断函数或表达式的结果是否符合预期。而期望(expectations)则是对这个结果的期望,用于在测试中指定具体的预期结果。通常,我们会使用 expect
函数来创建一个期望对象:
expect(1 + 1).toBe(2);
在这个示例中,expect
函数的参数是两个数相加的结果,而 toBe
是期望结果为 2
的方法。如果计算结果确实是 2
,那么测试就会通过。否则,就会抛出错误。
常用的期望方法
Jest 中有许多可用于设置期望的方法,其中一些最常用的有:
toEqual
:用于比较两个对象的属性和值是否完全相等。在比较对象时,应该使用该方法,而不是toBe
。toBe
:用于比较两个值是否完全相等,包括变量类型和值。not
:用于取反某个期望的结果。toThrow
:用于捕获和测试函数抛出的异常。
以下是一些基于上述方法的示例:
-- -------------------- ---- ------- ------------- -- -- - ----- --- - - - -- -------------------- --- --------------- -- -- - ----- ---- - - ----- ------- -- ----- ---- - - ----- ------- -- --------------------------- --- -------------- ----- -- -- - ----- -------- ----------- - ----- -------- - ----- --------------------------------- ----- ---- - ----- ---------------- ------ ----- - ----- ------------------------------------------ --- ------------ -- -- - -------- ------------ - ----- --- --------------- - ----------------------------- ---
断言的链式调用
Jest 还支持一种称为链式断言(chainable assertions)的语法,即将多个期望链接在一起使用。这种方法不仅简化了代码的编写和阅读,而且让错误提示更加直接和有用。下面是一个使用链式断言的示例:
-- -------------------- ---- ------- -------------- -- -- - -------- ----------- - ------ ----------------- ------- ---- ----- - -------- ---- - --- - ------ ----------- -------------- -- - --------------------------------- -------------------- -------------------------- ----------------------------------------------- ------ --- ---
总结
断言和期望是 Jest 中重要的概念,也是前端开发中单元测试的核心。在开发过程中,应当熟悉 Jest 中的断言和期望,并合理使用链式断言和期望方法,以更好地帮助测试达到预期,并提高代码的健壮性。在应用中多加练习和实践,可以更好的掌握 Jest 中的断言和期望。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/651e9b0695b1f8cacd648f53