peanut

jest+vue-test-utils初步实践

不问归期 提交于 2021-02-10 11:42:06
一、起步 1. jest Jest是 Facebook 的一套开源的 JavaScript 测试框架, 它自动集成了断言、JSDom、覆盖率报告等开发者所需要的所有测试工具,配置较少,对vue框架友好。 2. vue-test-utils Vue Test Utils 是 Vue.js 官方的单元测试实用工具库,为jest和vue提供了一个桥梁,暴露出一些接口,让我们更加方便的通过Jest为Vue应用编写单元测试。 3. 安装 如果已经安装配置了webpack、babel的vue脚手架,现在需要在安装的是: npm i jest @vue/test-utils vue-jest babel-jest jest-serializer-vue -D 4. 在package.json中定义单元测试的脚本和配置jest " scripts " : { " test " : " jest " }, " jest " : { " moduleFileExtensions " : [ " js " , // 告诉 Jest 处理 `*.vue` 文件 " vue " ], " moduleNameMapper " : { // 支持源代码中相同的 `@` -> `src` 别名 " ^@/(.*)$ " : " <rootDir>/src/$1 " }, " transform " : { //

前端测试框架Jest——语法篇

好久不见. 提交于 2020-08-14 11:04:37
使用匹配器 使用不同匹配器可以测试输入输出的值是否符合预期。下面介绍一些常见的匹配器。 普通匹配器 最简单的测试值的方法就是看是否精确匹配。首先是toBe() test( ' two plus two is four ' , () => { expect( 2 + 2 ).toBe( 4 ); }); toBe用的是JavaScript中的Object.is(),属于ES6中的特性,所以不能检测对象,如果要检测对象的值的话,需要用到toEqual。toEquel递归检查对象或者数组中的每个字段。 test( ' object assignment ' , () => { const data = {one: 1 }; data[ ' two ' ] = 2 ; expect(data).toEqual({one: 1 , two: 2 }); }); Truthiness 在实际的测试中,我们有时候需要区分undefined、null和false。以下的一些规则有助于我们进行。 toBeNull只匹配null toBeUndefined只匹配undefined toBeDefine与toBeUndefined相反 toBeTruthy匹配任何if语句为真 toBeFalsy匹配任何if语句为假 数字匹配器 大多数的比较数字有等价的匹配器。 大于。toBeGreaterThan()

每日一练_PAT_B1001

别来无恙 提交于 2019-12-03 14:36:10
鲁宾逊先生有一只宠物猴,名叫多多。这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:“欢迎免费品尝我种的花生!——熊字”。鲁宾逊先生和多多都很开心,因为花生正是他们的最爱。在告示牌背后,路边真的有一块花生田,花生植株整齐地排列成矩形网格。有经验的多多一眼就能看出,每棵花生植株下的花生有多少。为了训练多多的算术,鲁宾逊先生说:“你先找出花生最多的植株,去采摘它的花生;然后再找出剩下的植株里花生最多的,去采摘它的花生;依此类推,不过你一定要在我限定的时间内回到路边。”我们假定多多在每个单位时间内,可以做下列四件事情中的一件:1. 从路边跳到最靠近路边(即第一行)的某棵花生植株;2. 从一棵植株跳到前后左右与之相邻的另一棵植株;3. 采摘一棵植株下的花生;4. 从最靠近路边(即第一行)的某棵花生植株跳回路边。现在给定一块花生田的大小和花生的分布,请问在限定时间内,多多最多可以采到多少个花生?注意可能只有部分植株下面长有花生,假设这些植株下的花生个数各不相同。例如花生田里只有位于(2, 5), (3, 7), (4, 2), (5, 4)的植株下长有花生,个数分别为 13, 7, 15, 9。多多在 21 个单位时间内,只能经过(4, 2)、(2, 5)、(5, 4),最多可以采到 37 个花生。 输入描述: 输入包含多组数据,每组数据第一行包括三个整数 M(1