【Truffle】三、可视化测试报告的生成

news/2024/11/8 15:02:47/

        在truffle中,我们可以引入第三方插件,对truffle的测试进行更好的提升,这里介绍两个插件,分别是mocha-junit-reporter和mochawesome两个插件。

一、mocha-junit-reporter插件

        mocha-junit-reporter是一个用于Truffle测试框架的插件,它允许将Mocha测试结果以JUnit XML格式输出。Truffle是一个用于以太坊区块链开发和测试的框架,而Mocha是一个流行的JavaScript测试框架。

        1.安装插件

        使用npm或yarn安装mocha-junit-reporter,这里以npm为例。

npm install --save-dev mocha-junit-reporter

        2.应用插件 

        在Truffle配置文件(truffle-config.js或truffle.js)中添加reporter选项,我们把指定的报告路径设置为./test-results.xml。

module.exports = {// 配置项...mocha: {reporter: 'mocha-junit-reporter',reporterOptions: {mochaFile: './test-results.xml' // 指定生成的JUnit XML报告文件路径}},// 配置项...
};

         3.运行测试

        此时再次进行合约测试,测试的结果报告将会保存到指定的JUnit XML文件中。

        4.查看报告

        生成的JUnit XML报告可以用于与其他工具集成,例如Jenkins等,或者用于自动化测试结果的分析和报告生成。

二、mochawesome插件

        mochawesome是一个基于mocha测试框架的报告生成器插件,它可以生成漂亮的HTML测试报告并提供丰富的交互功能,例如搜索、筛选和排序测试结果。该插件受到广泛欢迎,因为它提供了比Mocha默认的报告更多的信息和可读性。

        1.安装插件

npm install --save-dev mocha mochawesome

        2. 应用插件

        修改truffle.js或truffle-config.js中的Mocha配置,添加mochawesome的报告生成器。

javascriptCopy Codemodule.exports = {// ...mocha: {reporter: "mochawesome",reporterOptions: {reportDir: "test-reports", // 报告存放的目录overwrite: true, // 是否覆盖之前的报告html: false, // 是否生成HTML报告json: true // 是否生成JSON报告}}
};

        这个配置会告诉Truffle使用mochawesome作为测试报告生成器,并指定报告存放的目录、是否覆盖之前的报告以及是否生成HTML和JSON报告。

        3.运行测试

        可以看到输出了一份html格式的报告 

        4.查看报告

        在前面设置过的报告目录中找到测试报告,移动到宿主机中打开即可查看结果。


http://www.ppmy.cn/news/1195573.html

相关文章

钉钉会议室无需API开发轻松连接OA、电商、营销、CRM、用户运营、推广、客服等近千款系统

钉钉会议室支持成员管理、主持人权限管理、高级会控、组织内会议全员静音、共享权限控制等会议管理能力,确保会议安全可控的进行。 官网:https://page.dingtalk.com/wow/z/dingtalk/Rax/RoomsIntro 集简云无代码集成平台,轻松连接钉钉会议室…

不必安装,快速设计数据库表结构

设计数据库架构是一项具有挑战性的任务,当您的应用程序不断变大时,它变得更加困难。 一个好的表结构设计能减少不小开发量,也能提升部分扩展性。 什么是数据库表结构? 表结构就是定义一个表的字段、类型、主键、外键、索引&#x…

pip修改为镜像源,window和linux修改方式

常用的pip源 清华大学源:https://pypi.tuna.tsinghua.edu.cn/simple/ 豆瓣源 :http://pypi.douban.com/simple/ 腾讯源:http://mirrors.cloud.tencent.com/pypi/simple/ 阿里源:https://mirrors.aliyun.com/pypi/simple/ 中科大&…

STM32 使用HAL库,HAL_Delay()会卡死, 程序一直卡在 HAL_GetTick( ) 函数中(已解决)

今天遇到个很奇怪的问题, 不知道为什么, 单片机运行一会之后, 系统就没反应了, 经过调试发现, 系统卡在HAL_Delay()中了. 之前也遇到过这个问题后来把HAL_Delay 去掉了. 然后发现不行, 还是得有它.不然发串口数据发的太快会乱掉. 得慢点发. 然后调试到HAL_Delay()方法的内部发…

Python基础学习009——类的封装

# 面向对象是一种编程思想,还有另一种是面向过程 # 面向过程,具体步骤的实现,所有功能都自己书写 # 面向对象,使用一个个工具(函数),帮助完成各项任务 # 类:对多个特性相同或相似的食物的统称,根据特征不同一个事物可以属于多个类 # 对象:由类实例化的一个事物,指代1个 # 类的组…

Android MVI架构的深入解析与对比

什么是MVI? M:model,此处的model并不是传统的数据模块,它是指用来存储视图状态UI State的一个模块 。比如请求数据时的loading、请求失败的提示页面等UI层面的变化状态。 V:view,视图模块 I:…

T1外部计数输入

/*----------------------------------------------- 内容&#xff1a;通过外部按键计数进入中断执行LED取反 ------------------------------------------------*/ #include<reg52.h> //包含头文件&#xff0c;一般情况不需要改动&#xff0c;头文件包含特殊功能寄存器的…

C++ STL 六组件介绍

文章目录 前言概念容器&#xff08;container&#xff09;概念类型代码示例作用&#xff08;为什么需要&#xff09; 算法&#xff08;algorithm&#xff09;概念类型代码示例作用&#xff08;为什么需要&#xff09; 迭代器&#xff08;iterator&#xff09;概念常用迭代器类型…