如何在Vue 3项目中使用Jest配置生成测试报告

2023-09-20 21:26:18

1. 介绍

在Vue 3项目中使用Jest进行单元测试是一种常见的做法,它可以帮助我们验证代码的正确性和稳定性。而生成测试报告可以帮助我们更好地了解测试覆盖率和测试结果,以便更好地优化和改进我们的代码。本文将介绍如何在Vue 3项目中配置Jest,以生成测试报告。

2. 安装Jest

首先,我们需要在Vue 3项目中安装Jest。可以使用以下命令进行安装:

npm install --save-dev jest

3. 配置Jest

在Vue 3项目的根目录下创建一个jest.config.js文件,并添加以下内容:

module.exports = {
  preset: '@vue/cli-plugin-unit-jest',
  collectCoverage: true,
  collectCoverageFrom: [
    'src/**/*.{js,vue}',
    '!src/main.js', // 排除入口文件
    '!src/router/index.js', // 排除路由文件
    '!**/node_modules/**' // 排除node_modules目录
  ],
  coverageReporters: ['lcov', 'text-summary'],
  coverageDirectory: 'coverage',
  reporters: [
    'default',
    [
      'jest-junit',
      {
        outputDirectory: 'test-results',
        outputName: 'test-results.xml'
      }
    ]
  ]
};

上述配置中,preset指定了使用Vue CLI的Jest预设配置,collectCoverage设置为true表示收集测试覆盖率信息,collectCoverageFrom指定了需要收集覆盖率信息的文件,coverageReporters指定了生成的覆盖率报告的格式,coverageDirectory指定了生成的覆盖率报告的目录。

reporters配置项用于指定生成的测试报告的格式和目录。上述配置中,我们使用了default报告器来生成控制台输出的报告,同时使用了jest-junit报告器来生成JUnit格式的XML报告,该报告器需要安装jest-junit包。

可以使用以下命令进行安装:

npm install --save-dev jest-junit

4. 运行测试

现在,我们已经完成了Jest的配置。接下来,我们可以运行测试并生成测试报告了。

package.json文件中,添加以下脚本命令:

{
  "scripts": {
    "test": "jest --ci --reporters=default --reporters=jest-junit"
  }
}

上述命令中,--ci参数用于在CI/CD环境中运行测试,--reporters=default --reporters=jest-junit参数用于指定使用默认报告器和jest-junit报告器。

现在,我们可以运行以下命令来运行测试并生成测试报告:

npm run test

运行完毕后,你将在项目根目录下的coverage目录中找到生成的测试报告。

5. 结论

通过配置Jest并生成测试报告,我们可以更好地了解我们的代码的测试覆盖率和测试结果。这有助于我们发现和修复代码中的问题,并提高代码的质量和稳定性。希望本文对你在Vue 3项目中使用Jest配置生成测试报告有所帮助。

更多推荐

【docker】容器跟宿主机、其他容器通信

说明容器跟宿主机、其他容器通信的关键在于它们要在同一个网络,或者通过修改路由信息来可以让它们互相之间能够找得到对方的IP。本文主要介绍让它们在同一个网络的方法。Docker自定义网络模式介绍Docker容器可以通过自定义网络来与宿主机或其他容器进行通信。在Docker中,有三种类型的网络:bridge网络、host网络

使用ElementPlus实现内嵌表格和内嵌分页

前言有时遇到这样的需求,就是在表格里面嵌入一个表格,以及要求带有分页,这样在ElementPlus中很好实现。以下使用Vue2语法实现一个简单例子,毕竟Vue3兼容Vue2语法,若想要Vue3版本例子,简单改改就OK了。一、示例代码(1)/src/views/Example/InlineTable/index.vue<

proteus中的各种电阻-可变电阻-排阻

在原理图中使用各类型的电阻是很常见的事情,尤其类似与排阻、可变电阻,但这些电阻对于不熟悉proteus的童鞋来说,一下子可能很难找到,或者很难找心中所想的那个类型,这里分类列出,便于大家使用。文章目录一、普通电阻1、普通电阻(模拟信号电阻)2、上拉与下拉电阻(模拟信号电阻常常报错)二、排阻1、ResistorPack2

Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?

目录一、@SpringBootApplication二、@SpringBootConfiguration三、@EnableAutoConfiguration四、@ComponentScan一、@SpringBootApplication@SpringBootApplication是SpringBoot框架的核心注解之一

SSL免费证书会报安全提示吗?

安全性是互联网世界中至关重要的一环,其中一个关键组成部分就是SSL证书,它们用于加密在用户浏览器和服务器之间传输的数据,以确保数据的保密性和完整性。然而,有关SSL证书的一个常见问题是:免费SSL证书是否会触发安全警告?本文将深入探讨这个问题,以帮助您更好地理解SSL证书的工作原理以及免费证书可能对您的网站安全性产生的

【Spring Boot】详解restful api

目录1.restfulapi1.1.历史1.2.内容1.3.传参2.SpringBoot中的RestfulApi1.restfulapi1.1.历史RESTfulAPI(RepresentationalStateTransferfulApplicationProgrammingInterface)是一种设计风格,用于构

AI大模型服务上线,助力企业AI大模型应用落地

在数字时代的浪潮中,人工智能(AI)技术的发展和应用已经深入到我们生活的方方面面。其中,企业AI大模型作为AI技术的重要形式之一,正在成为推动企业创新、提高效率和优化决策的关键力量。为顺应AI大模型的新趋势需求,近日,AI大模型服务,为企业提供高度定制化的AI大模正式上线,助力企业AI大模型应用落地,打造企业二次增长曲

linux驱动开发--day4(字符设备驱动注册内部流程、及实现备文件和设备的绑定下LED灯实验)

一、字符设备驱动注册的内部过程1.分配structcdev对象空间2.初始化structcdev对象3.注册cdev对象二、注册字符设备驱动分步实现1.分配字符设备驱动对象2.字符设备驱动对象初始化3.设备号的申请4.根据申请的设备号和驱动对象注册驱动三、open函数回调驱动中操作方法open的路线1.应用层打开文件系

一文读懂 Redis 缓存系统

【摘要】本文介绍了Redis缓存原理、详细解析了缓存模型、缓存一致性和缓存异常场景。【作者】李杰,专注于Java虚拟机技术、云原生技术领域的探索与研究。尽管(关系型)数据库系统(SQL)带来了许多出色的属性,例如ACID,但为了保持这些属性,数据库的性能在“3高”条件环境下下往往显得捉襟见肘、苍白无力。为了解决这个问题

nodejs定时任务

项目需求:1.每5秒执行一次,多个定时任务错开,即cron表达式中斜杆前带数字,例如‘1/5*****’2.定时任务准时,延误低搜索了nodejs的定时任务,其实不多,找到了以下三个:node-cronnode-schedulecronnode-cron示例代码constnodeCron=require('node-c

Unity粒子系统ParticleSystem各模块及其参数学习

粒子系统控制面板默认有4个模块:ParticleSystem(主模块),Emission(发射模块),Shape(形状模块),Renderer(渲染器模块)1.ParticleSystem模块包含了影响整个粒子系统的全局设置,主要用来初始化粒子系统,例如设置例子初始化时间、循环方式、初始速度、颜色、大小等基本参数Dur

热文推荐