CN112559370A - 一种基于前端的React项目单元测试方法及相关设备 - Google Patents
一种基于前端的React项目单元测试方法及相关设备 Download PDFInfo
- Publication number
- CN112559370A CN112559370A CN202011544854.8A CN202011544854A CN112559370A CN 112559370 A CN112559370 A CN 112559370A CN 202011544854 A CN202011544854 A CN 202011544854A CN 112559370 A CN112559370 A CN 112559370A
- Authority
- CN
- China
- Prior art keywords
- unit
- tested
- file
- root directory
- item
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明实施例涉及大数据领域,公开了一种基于前端的React项目单元测试方法及相关设备,该方法包括:获取前端中的当前react项目的根目录中的配置文件;根据配置文件确定测试工具库;获取当前react项目的根目录中的设置文件中设置的地址信息,并根据地址信息确定待测试文件;从待测试文件中查找与预设关键词对应的待测试单元,当检测到待测试单元满足触发条件时,触发执行所述待测试单元,并在待测试单元执行结束后生成对应的测试报告。这种方式可以降低人员开发成本,提高对react项目单元的测试效率和有效性。本发明涉及区块链技术,如可将文件数据写入区块链中,以用于数据取证等场景。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于前端的React项目单元测试方法及相关设备。
背景技术
前端React项目自动化测试中,主要包含了功能函数测试、点击事件测试、生命周期函数测试等,其中,生命周期测试的主要测试内容是测试生命周期函数执行过程中是否可以顺利执行完。目前生命周期测试的测试方法主要是通过开发人员手动编写代码进行测试。然而,这种方式需要开发人员学习并熟悉自动化测试的语法,并且在编写测试代码过程中,不可避免的需要投入调试的时间和编写错误带来修正所花费的时间,以及随着业务需求的变化,会导致测试代码需要重新变更,需要重新编写和修改单元测试脚本等,从而导致测试效率低,操作复杂,开发成本不断增加。
发明内容
本发明实施例提供了一种基于前端的React项目单元测试方法及相关设备,可以降低人员开发成本,提高对react项目单元的测试效率和有效性。
第一方面,本发明实施例提供了一种基于前端的React项目单元测试方法,所述方法包括:
获取前端中的当前react项目的根目录中的配置文件;
根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库;
获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件;
根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。
进一步地,所述根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库,包括:
检测所述当前react项目的根目录中的配置文件中是否包含指定的开源库;
当检测结果为所述当前react项目的根目录中的配置文件中不包含指定的开源库时,安装并配置所述指定的开源库;
当检测结果为所述当前react项目的根目录中的配置文件中包含指定的开源库时,确定所述指定的开源库为所述当前react项目中单元测试对应的测试工具库。
进一步地,所述根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,包括:
对所述待测试文件进行遍历分析,得到结果数据;
根据预设关键词从遍历分析得到的所述结果数据中查找与所述预设关键词对应的生命周期函数。
进一步地,所述当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,包括:
检测所述生命周期函数是否与预设的标记变量相匹配;
当检测结果为所述生命周期函数与预设的标记变量相匹配时,确定所述生命周期函数满足触发条件,并触发执行所述生命周期函数中与所述预设的标记变量相匹配的方法。
进一步地,所述方法还包括:
当检测结果为所述生命周期函数与预设的标记变量不匹配时,获取所述生命周期函数中与所述预设的标记变量不匹配的标记变量;
根据所述预设的标记变量对所述生命周期函数中与所述预设的标记变量不匹配的标记变量进行修改。
进一步地,所述获取前端中的当前react项目的根目录中的配置文件文件之前,还包括:
获取所述前端中的当前react项目;
根据所述前端中的当前react项目确定所述当前react项目中的根目录,并将待添加的一个或多个测试工具添加到所述根目录的配置文件中。
进一步地,所述获取前端中的当前react项目的根目录中的配置文件文件之前,还包括:
在确定的所述当前react项目中的根目录中编写设置文件;
在所述设置文件中设置待测试文件的地址信息。
第二方面,本发明实施例提供了一种基于前端的React项目单元测试装置,包括:
获取单元,用于获取前端中的当前react项目的根目录中的配置文件;
第一确定单元,用于根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库;
第二确定单元,用于获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件;
执行单元,用于根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。
第三方面,本发明实施例提供了一种计算机设备,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持基于前端的React项目单元测试装置执行上述方法的计算机程序,所述计算机程序包括程序,所述处理器被配置用于调用所述程序,执行上述第一方面的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述第一方面的方法。
本发明实施例可以获取前端中的当前react项目的根目录中的配置文件;根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库;获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件;根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。通过这种实施方式,可以降低人员开发成本,提高对react项目单元的测试效率和有效性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于前端的React项目单元测试方法的示意流程图;
图2是本发明实施例提供的一种基于前端的React项目单元测试装置的示意框图;
图3是本发明实施例提供的一种计算机设备的示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的基于前端的React项目单元测试方法可以应用于一种基于前端的React项目单元测试装置,在某些实施例中,所述基于前端的React项目单元测试装置设置于计算机设备中。在某些实施例中,所述计算机设备包括但不限于智能手机、平板电脑、膝上型电脑等中的一种或者多种。
下面结合附图1对本发明实施例提供的基于前端的React项目单元测试方法进行示意性说明。
请参见图1,图1是本发明实施例提供的一种基于前端的React项目单元测试方法的示意流程图,如图1所示,该方法可以由基于前端的React项目单元测试装置执行,所述基于前端的React项目单元测试装置设置于计算机设备中。具体地,本发明实施例的所述方法包括如下步骤。
S101:获取前端中的当前react项目的根目录中的配置文件。
本发明实施例中,基于前端的React项目单元测试装置可以获取前端中的当前react项目的根目录中的配置文件。在某些实施例中,所述当前react项目的根目录中的配置文件可以为所述当前react项目的根目录中的package.json文件。
在一个实施例中,基于前端的React项目单元测试装置在获取前端中的当前react项目的根目录中的配置文件文件之前,可以获取所述前端中的当前react项目;并根据所述前端中的当前react项目确定所述当前react项目中的根目录,并将待添加的一个或多个测试工具添加到所述根目录的配置文件中。
在一个实施例中,在将待添加的一个或多个测试工具添加到所述根目录的配置文件中时,具体可以在命令行(mac系统为终端),定位当前react项目的根目录,执行命令,npmi pa-react-lifecycle-test--save-dev,引入Enzyme第三方工具库,将Enzyme工具库添加到当前react项目中。通过将Enzyme工具库添加到当前react项目中,可以从Enzyme工具库中下载相关需要的依赖文件。
在一个实施例中,基于前端的React项目单元测试装置在获取前端中的当前react项目的根目录中的配置文件文件之前,可以在确定的所述当前react项目中的根目录中编写设置文件;并在所述设置文件中设置待测试文件的地址信息。在某些实施例中,所述设置文件可以为config.json文件。
在一个实施例中,在基于前端的React项目单元测试装置在获取前端中的当前react项目的根目录中的配置文件文件之前,还可以在配置文件中加入自动生命周期函数测试的配置信息。在一个具体实施例中,可以在package.json文件中的srcipt对象中的test对应的值,在命令前面,增加工具执行命令pa-react-lifecycle-test,即最终变成pa-react-lifecycle-test react-scripts test。通过这种配置,在执行自动化单元测试时候,可以先执行生命周期函数测试脚本。
S102:根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库。
本发明实施例中,基于前端的React项目单元测试装置可以根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库。在某些实施例中,所述测试工具库可以为Enzyme工具库。
在一个实施例中,基于前端的React项目单元测试装置在根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库时,可以检测所述当前react项目的根目录中的配置文件中是否包含指定的开源库;当检测结果为所述当前react项目的根目录中的配置文件中不包含指定的开源库时,安装并配置所述指定的开源库;当检测结果为所述当前react项目的根目录中的配置文件中包含指定的开源库时,确定所述指定的开源库为所述当前react项目中单元测试对应的测试工具库。在某些实施例中,所述指定的开源库可以为Enzyme工具库。
在一个实施例中,在检测所述当前react项目的根目录中的配置文件中是否包含指定的开源库时,可以检测所述当前react项目的根目录中的配置文件package.json文件中是否包含Enzyme工具库。当检测结果为所述当前react项目的根目录中的配置文件package.json文件中不包含Enzyme工具库时,可以通过执行命令npm install Enzyme-D安装并配置Enzyme工具库。
S103:获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件。
本发明实施例中,基于前端的React项目单元测试装置可以获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件。
在一个实施例中,基于前端的React项目单元测试装置在根据所述地址信息确定所述当前react项目中的待测试文件时,可以根据所述地址信息生成相应名称的待测试文件,例如,根据config.json中配置的待测试文件js文件的地址信息,生成相应名称的待测试文件,如xxx_test.js。
S104:根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。
本发明实施例中,基于前端的React项目单元测试装置可以根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。
在一个实施例中,基于前端的React项目单元测试装置在根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元时,可以对所述待测试文件进行遍历分析,得到结果数据;根据预设关键词从遍历分析得到的所述结果数据中查找与所述预设关键词对应的生命周期函数。在某些实施例中,所述预设关键词分别为componentWillMount、componentDidMount、shouldComponentUpdate、componentWillUpdate、componentDidUpdate、componentWillUnmount、componentWillReceiveProps。通过这7个关键词查找出对应的7个生命周期函数。
在一个实施例中,基于前端的React项目单元测试装置当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元时,可以检测所述生命周期函数是否与预设的标记变量相匹配;当检测结果为所述生命周期函数与预设的标记变量相匹配时,确定所述生命周期函数满足触发条件,并触发执行所述生命周期函数中与所述预设的标记变量相匹配的方法。在某些实施例中,所述预设的标记变量包括isComponentWillMount、isComponentDidMount、isShouldComponentUpdate等7个。
在一个实施例中,可以检测所述生命周期函数是否与isComponentWillMount、isComponentDidMount、isShouldComponentUpdate等7个预设的标记变量相匹配;当检测结果为所述生命周期函数与isComponentWillMount、isComponentDidMount、isShouldComponentUpdate等7个预设的标记变量相匹配时,确定所述生命周期函数满足触发条件,并触发执行所述生命周期函数中与所述isComponentWillMount、isComponentDidMount、isShouldComponentUpdate等7个预设的标记变量相匹配的方法。通过这种方式,可以确定在执行所述生命周期函数中与所述isComponentWillMount、isComponentDidMount、isShouldComponentUpdate等7个预设的标记变量相匹配的方法后,所述生命周期函数执行完。
在一个实施例中,当检测结果为所述生命周期函数与预设的标记变量不匹配时,基于前端的React项目单元测试装置可以获取所述生命周期函数中与所述预设的标记变量不匹配的标记变量;并根据所述预设的标记变量对所述生命周期函数中与所述预设的标记变量不匹配的标记变量进行修改。
在一个实施例中,基于前端的React项目单元测试装置在根据所述预设的标记变量对所述生命周期函数中与所述预设的标记变量不匹配的标记变量进行修改时,可以根据所述预设的标记变量触发预设的变更标记变量的方法代码,并通过执行所述预设的变更标记变量的方法代码对所述生命周期函数中与所述预设的标记变量不匹配的标记变量进行修改。
可见,通过自动化测试生命周期函数不需要开发者手动编写测试脚本,极大程度的减少了在人为编写测试脚本过程中,带来的学习成本,时间成本和人为代码编写过程中导致的异常错误等。通过将自动化测试代码与项目代码完全分离,对于源代码完全没有入侵,对于源代码的稳定性、可读性、可维护性,均不会造成任何影响。
在一个实施例中,基于前端的React项目单元测试装置可以在所述待测试单元执行结束后,删除自动化测试代码,并生成对应的测试报告。
本发明实施例中,基于前端的React项目单元测试装置可以获取前端中的当前react项目的根目录中的配置文件;根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库;获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件;根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。通过这种实施方式,可以降低人员开发成本,提高对react项目单元的测试效率和有效性。
本发明实施例还提供了一种基于前端的React项目单元测试装置,该基于前端的React项目单元测试装置用于执行前述任一项所述的方法的单元。具体地,参见图2,图2是本发明实施例提供的一种基于前端的React项目单元测试装置的示意框图。本实施例的基于前端的React项目单元测试装置包括:获取单元201、第一确定单元202、第二确定单元203以及执行单元204。
获取单元201,用于获取前端中的当前react项目的根目录中的配置文件;
第一确定单元202,用于根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库;
第二确定单元203,用于获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件;
执行单元204,用于根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。
进一步地,所述第一确定单元202根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库时,具体用于:
检测所述当前react项目的根目录中的配置文件中是否包含指定的开源库;
当检测结果为所述当前react项目的根目录中的配置文件中不包含指定的开源库时,安装并配置所述指定的开源库;
当检测结果为所述当前react项目的根目录中的配置文件中包含指定的开源库时,确定所述指定的开源库为所述当前react项目中单元测试对应的测试工具库。
进一步地,所述执行单元204根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元时,具体用于:
对所述待测试文件进行遍历分析,得到结果数据;
根据预设关键词从遍历分析得到的所述结果数据中查找与所述预设关键词对应的生命周期函数。
进一步地,所述执行单元204当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元时,具体用于:
检测所述生命周期函数是否与预设的标记变量相匹配;
当检测结果为所述生命周期函数与预设的标记变量相匹配时,确定所述生命周期函数满足触发条件,并触发执行所述生命周期函数中与所述预设的标记变量相匹配的方法。
进一步地,所述执行单元204还用于:
当检测结果为所述生命周期函数与预设的标记变量不匹配时,获取所述生命周期函数中与所述预设的标记变量不匹配的标记变量;
根据所述预设的标记变量对所述生命周期函数中与所述预设的标记变量不匹配的标记变量进行修改。
进一步地,所述获取单元201获取前端中的当前react项目的根目录中的配置文件文件之前,还用于:
获取所述前端中的当前react项目;
根据所述前端中的当前react项目确定所述当前react项目中的根目录,并将待添加的一个或多个测试工具添加到所述根目录的配置文件中。
进一步地,所述获取单元201获取前端中的当前react项目的根目录中的配置文件文件之前,还用于:
在确定的所述当前react项目中的根目录中编写设置文件;
在所述设置文件中设置待测试文件的地址信息。
本发明实施例中,基于前端的React项目单元测试装置可以获取前端中的当前react项目的根目录中的配置文件;根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库;获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件;根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。通过这种实施方式,可以降低人员开发成本,提高对react项目单元的测试效率和有效性。
参见图3,图3是本发明实施例提供的一种计算机设备的示意框图。如图所示的本实施例中的设备可以包括:一个或多个处理器301;一个或多个输入设备302,一个或多个输出设备303和存储器304。上述处理器301、输入设备302、输出设备303和存储器304通过总线305连接。存储器304用于存储计算机程序,所述计算机程序包括程序,处理器301用于执行存储器304存储的程序。其中,处理器301被配置用于调用所述程序执行:
获取前端中的当前react项目的根目录中的配置文件;
根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库;
获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件;
根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。
进一步地,所述处理器301根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库时,具体用于:
检测所述当前react项目的根目录中的配置文件中是否包含指定的开源库;
当检测结果为所述当前react项目的根目录中的配置文件中不包含指定的开源库时,安装并配置所述指定的开源库;
当检测结果为所述当前react项目的根目录中的配置文件中包含指定的开源库时,确定所述指定的开源库为所述当前react项目中单元测试对应的测试工具库。
进一步地,所述处理器301根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元时,具体用于:
对所述待测试文件进行遍历分析,得到结果数据;
根据预设关键词从遍历分析得到的所述结果数据中查找与所述预设关键词对应的生命周期函数。
进一步地,所述处理器301当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元时,具体用于:
检测所述生命周期函数是否与预设的标记变量相匹配;
当检测结果为所述生命周期函数与预设的标记变量相匹配时,确定所述生命周期函数满足触发条件,并触发执行所述生命周期函数中与所述预设的标记变量相匹配的方法。
进一步地,所述处理器301还用于:
当检测结果为所述生命周期函数与预设的标记变量不匹配时,获取所述生命周期函数中与所述预设的标记变量不匹配的标记变量;
根据所述预设的标记变量对所述生命周期函数中与所述预设的标记变量不匹配的标记变量进行修改。
进一步地,所述处理器301获取前端中的当前react项目的根目录中的配置文件文件之前,还用于:
获取所述前端中的当前react项目;
根据所述前端中的当前react项目确定所述当前react项目中的根目录,并将待添加的一个或多个测试工具添加到所述根目录的配置文件中。
进一步地,所述处理器301获取前端中的当前react项目的根目录中的配置文件文件之前,还用于:
在确定的所述当前react项目中的根目录中编写设置文件;
在所述设置文件中设置待测试文件的地址信息。
本发明实施例中,计算机设备可以获取前端中的当前react项目的根目录中的配置文件;根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库;获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件;根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。通过这种实施方式,可以降低人员开发成本,提高对react项目单元的测试效率和有效性。
应当理解,在本发明实施例中,所称处理器301可以是中央处理单元(CenSralProcessing UniS,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigiSalSignal Processor,DSP)、专用集成电路(ApplicaSion Specific InSegraSed CircuiS,ASIC)、现成可编程门阵列(Field-Programmable GaSe Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备302可以包括触控板、麦克风等,输出设备303可以包括显示器(LCD等)、扬声器等。
该存储器304可以包括只读存储器和随机存取存储器,并向处理器301提供指令和数据。存储器304的一部分还可以包括非易失性随机存取存储器。例如,存储器304还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器301、输入设备302、输出设备303可执行本发明实施例提供的图1所述的方法实施例中所描述的实现方式,也可执行本发明实施例图2所描述的基于前端的React项目单元测试装置的实现方式,在此不再赘述。
本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现图1所对应实施例中描述的基于前端的React项目单元测试方法,也可实现本发明图2所对应实施例的基于前端的React项目单元测试装置,在此不再赘述。
所述计算机可读存储介质可以是前述任一实施例所述的基于前端的React项目单元测试装置的内部存储单元,例如基于前端的React项目单元测试装置的硬盘或内存。所述计算机可读存储介质也可以是所述基于前端的React项目单元测试装置的外部存储装置,例如所述基于前端的React项目单元测试装置上配备的插接式硬盘,智能存储卡(SmarSMedia Card,SMC),安全数字(Secure DigiSal,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述基于前端的React项目单元测试装置的内部存储单元也包括外部存储装置。所述计算机可读存储介质用于存储所述计算机程序以及所述基于前端的React项目单元测试装置所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。所述的计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
需要强调的是,为进一步保证上述数据的私密和安全性,上述数据还可以存储于一区块链的节点中。其中,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
以上所述,仅为本发明的部分实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于前端的React项目单元测试方法,其特征在于,所述方法包括:
获取前端中的当前react项目的根目录中的配置文件;
根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库;
获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件;
根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库,包括:
检测所述当前react项目的根目录中的配置文件中是否包含指定的开源库;
当检测结果为所述当前react项目的根目录中的配置文件中不包含指定的开源库时,安装并配置所述指定的开源库;
当检测结果为所述当前react项目的根目录中的配置文件中包含指定的开源库时,确定所述指定的开源库为所述当前react项目中单元测试对应的测试工具库。
3.根据权利要求1所述的方法,其特征在于,所述根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,包括:
对所述待测试文件进行遍历分析,得到结果数据;
根据预设关键词从遍历分析得到的所述结果数据中查找与所述预设关键词对应的生命周期函数。
4.根据权利要求3所述的方法,其特征在于,所述当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,包括:
检测所述生命周期函数是否与预设的标记变量相匹配;
当检测结果为所述生命周期函数与预设的标记变量相匹配时,确定所述生命周期函数满足触发条件,并触发执行所述生命周期函数中与所述预设的标记变量相匹配的方法。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当检测结果为所述生命周期函数与预设的标记变量不匹配时,获取所述生命周期函数中与所述预设的标记变量不匹配的标记变量;
根据所述预设的标记变量对所述生命周期函数中与所述预设的标记变量不匹配的标记变量进行修改。
6.根据权利要求1所述的方法,其特征在于,所述获取前端中的当前react项目的根目录中的配置文件文件之前,还包括:
获取所述前端中的当前react项目;
根据所述前端中的当前react项目确定所述当前react项目中的根目录,并将待添加的一个或多个测试工具添加到所述根目录的配置文件中。
7.根据权利要求6所述的方法,其特征在于,所述获取前端中的当前react项目的根目录中的配置文件文件之前,还包括:
在确定的所述当前react项目中的根目录中编写设置文件;
在所述设置文件中设置待测试文件的地址信息。
8.一种基于前端的React项目单元测试装置,其特征在于,包括:
获取单元,用于获取前端中的当前react项目的根目录中的配置文件;
第一确定单元,用于根据所述当前react项目的根目录中的配置文件确定所述当前react项目中单元测试对应的测试工具库;
第二确定单元,用于获取所述当前react项目的根目录中的设置文件中设置的地址信息,并根据所述地址信息确定所述当前react项目中的待测试文件;
执行单元,用于根据预设关键词从所述待测试文件中查找与所述预设关键词对应的待测试单元,当检测到所述待测试单元满足触发条件时,触发执行所述待测试单元,以对所述待测试文件进行测试,并在所述待测试单元执行结束后生成对应的测试报告。
9.一种计算机设备,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序,所述处理器被配置用于调用所述程序,执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011544854.8A CN112559370A (zh) | 2020-12-23 | 2020-12-23 | 一种基于前端的React项目单元测试方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011544854.8A CN112559370A (zh) | 2020-12-23 | 2020-12-23 | 一种基于前端的React项目单元测试方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112559370A true CN112559370A (zh) | 2021-03-26 |
Family
ID=75031930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011544854.8A Pending CN112559370A (zh) | 2020-12-23 | 2020-12-23 | 一种基于前端的React项目单元测试方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559370A (zh) |
-
2020
- 2020-12-23 CN CN202011544854.8A patent/CN112559370A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019240B2 (en) | Method and apparatus for detecting code change | |
CN110704297B (zh) | 代码评审方法、装置、计算机设备及存储介质 | |
US8397104B2 (en) | Creation of test plans | |
CN110704304B (zh) | 一种应用程序测试方法、装置、存储介质和服务器 | |
CN111459495B (zh) | 单元测试代码文件生成方法、电子装置及存储介质 | |
WO2015131804A1 (en) | Call stack relationship acquiring method and apparatus | |
US20130179867A1 (en) | Program Code Analysis System | |
CN110851351A (zh) | 部署环境测试方法、装置、计算机设备及存储介质 | |
CN110866258A (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN112149136A (zh) | loT设备固件漏洞的检测方法、系统及电子设备 | |
CN111427771A (zh) | 一种代码覆盖率分析方法、设备、服务器及可读存储介质 | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
CN115391230A (zh) | 一种测试脚本生成、渗透测试方法、装置、设备及介质 | |
CN111382077A (zh) | 应用程序崩溃原因定位方法、装置、电子设备及存储介质 | |
CN112346981A (zh) | 联调测试覆盖率检测方法及系统 | |
EP3692456B1 (en) | Binary image stack cookie protection | |
CN116756037A (zh) | 异常代码定位系统、方法、设备及计算机可读存储介质 | |
CN110889116A (zh) | 一种广告拦截方法、装置及电子设备 | |
CN112559370A (zh) | 一种基于前端的React项目单元测试方法及相关设备 | |
CN112148590B (zh) | 一种代码覆盖率的确定方法、装置及设备 | |
CN110442370B (zh) | 一种测试用例查询方法及装置 | |
CN111078574A (zh) | 生成影响分析报告的方法及装置 | |
CN112148581A (zh) | 代码规范检查方法、装置、系统及存储介质 | |
CN116661758B (zh) | 一种优化日志框架配置的方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |