CN111767217A - Js单元测试案例生成方法及装置 - Google Patents
Js单元测试案例生成方法及装置 Download PDFInfo
- Publication number
- CN111767217A CN111767217A CN202010585036.6A CN202010585036A CN111767217A CN 111767217 A CN111767217 A CN 111767217A CN 202010585036 A CN202010585036 A CN 202010585036A CN 111767217 A CN111767217 A CN 111767217A
- Authority
- CN
- China
- Prior art keywords
- code
- data
- unit test
- type
- unit
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 191
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000015654 memory Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 11
- 238000011161 development Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
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/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种JS单元测试案例生成方法及装置,该方法包括:获取用户编写的待生成的JS单元测试案例的测试数据,其中,所述测试数据包括:至少一种JS代码、每个JS代码各自对应的输入数据和预期输出数据以及各JS代码的顺序;获取用户指定的所述待生成的JS单元测试案例对应的JS单元测试框架,并确定所述JS单元测试框架对应的预设的语法模板;根据所述语法模板以及所述测试数据生成所述待生成的JS单元测试案例。本发明提高了前端JS单元测试案例的生成效率,降低了开发人员的技术门槛。
Description
技术领域
本发明涉及前端领域,具体而言,涉及一种JS单元测试案例生成方法及装置。
背景技术
前后端分离是当前软件开发首选的开发模式,前端、后端都有各自独立的开发环境。在开发自测阶段,前端和后端开发环境之间相互独立,而且不会发生任何请求交互,这导致开发人员仅能依赖自己的环境单独开发和自测。如何利用单元测试保证代码质量成为开发人员在这个阶段最关心的问题,避免漏洞推迟到项目后期而导致潜在风险。
单元测试是指对软件中的最小可测试单元进行检查和验证。单元测试更适用于对业务逻辑代码的测试,所以单元测试在后端开发中非常流行和普及,而前端开发需要使用浏览器和用户界面组件,编写单元测试案例比起编写业务逻辑代码更加困难,而且自动调起浏览器执行单元测试案例又涉及许多操纵系统层面的技术,这使得单元测试在前端开发中并未普及起来。随着敏捷开发的推动,业界涌现出了许多优秀的JS(JavaScript)单元测试框架,方便开发人员进行浏览器测试和自动化测试。但是,编写业务逻辑代码案例却需要使用这些测试框架的特定语法,编写用户界面代码案例仍需耗费较大精力去构造和设计,在一定程度上提高了开发人员的技术门槛。
综上,目前没有合理的解决高效高质量编写前端JS单元测试案例这个问题的方案,因此,如何提供一种新的方案,解决上述技术问题是本领域亟待解决的技术难题。
发明内容
本发明为了解决上述背景技术中的技术问题,提出了一种JS单元测试案例生成方法及装置。
为了实现上述目的,根据本发明的一个方面,提供了一种JS单元测试案例生成方法,该方法包括:
获取用户编写的待生成的JS单元测试案例的测试数据,其中,所述测试数据包括:至少一种JS代码、每个JS代码各自对应的输入数据和预期输出数据以及各JS代码的顺序;
获取用户指定的所述待生成的JS单元测试案例对应的JS单元测试框架,并确定所述JS单元测试框架对应的预设的语法模板;
根据所述语法模板以及所述测试数据生成所述待生成的JS单元测试案例。
可选的,该JS单元测试案例生成方法还包括:
获取预设的多种JS单元测试框架各自的语法结构和语义要素;
根据所述语法结构和所述语义要素确定所述预设的多种JS单元测试框架各自对应的要素字段;
针对每种所述JS单元测试框架,根据每种所述JS代码的代码类型对应的要素字段的组装顺序和填充位置生成每种所述代码类型对应的语法模板,得到每种所述JS单元测试框架各自对应的语法模板。
可选的,所述JS代码的代码类型包括:普通变量操作、异步请求发送和用户界面操作。
可选的,所述普通变量操作类型的JS代码的输入数据包括:变量名称、数据类型和数据值;所述普通变量操作类型的JS代码的预期输出数据包括:变量名称、数据类型和数据值;
所述异步请求发送类型的JS代码的输入数据包括:请求Url、请求数据类型和请求数据值;所述异步请求发送类型的JS代码的预期输出数据包括:响应数据类型和响应数据值;
所述用户界面操作类型的JS代码的输入数据包括:HTML元素类型、标识符和事件名称;所述用户界面操作类型的JS代码的预期输出数据包括:变量名称、数据类型和数据值。
为了实现上述目的,根据本发明的另一方面,提供了一种JS单元测试案例生成装置,该装置包括:
测试数据获取单元,用于获取用户编写的待生成的JS单元测试案例的测试数据,其中,所述测试数据包括:至少一种JS代码、每个JS代码各自对应的输入数据和预期输出数据以及各JS代码的顺序;
语法模板确定单元,用于获取用户指定的所述待生成的JS单元测试案例对应的JS单元测试框架,并确定所述JS单元测试框架对应的预设的语法模板;
测试案例生成单元,用于根据所述语法模板以及所述测试数据生成所述待生成的JS单元测试案例。
可选的,该JS单元测试案例生成装置还包括:
框架数据获取单元,用于获取预设的多种JS单元测试框架各自的语法结构和语义要素;
要素字段定义单元,用于根据所述语法结构和所述语义要素确定所述预设的多种JS单元测试框架各自对应的要素字段;
语法模板生成单元,用于针对每种所述JS单元测试框架,根据每种所述JS代码的代码类型对应的要素字段的组装顺序和填充位置生成每种所述代码类型对应的语法模板,得到每种所述JS单元测试框架各自对应的语法模板。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述JS单元测试案例生成方法中的步骤。
为了实现上述目的,根据本发明的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述JS单元测试案例生成方法中的步骤。
本发明的有益效果为:本发明通过生成多种JS单元测试框架各自对应的语法模板,用户仅需配置JS单元测试案例除除语法结构外的部分,即测试数据,进而根据用户选择的JS单元测试框架直接生成对应的标准化的前端JS单元测试案例,提高了前端JS单元测试案例的生成效率,也降低了开发人员的技术门槛。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明实施例JS单元测试案例生成方法的第一流程图;
图2是本发明实施例JS单元测试案例生成方法的第二流程图;
图3是本发明实施例JS单元测试案例生成装置的第一结构框图;
图4是本发明实施例JS单元测试案例生成装置的第二结构框图;
图5是本发明实施例计算机设备示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明为解决在前端单元测试过程中,学习不同前端JS单元测试框架成本高,编写相应JS单元测试案例难度大、效率低,以及各开发人员的前端单元测试案例质量不同导致系统代码质量存在漏洞风险的问题,提供了一种基于约定语法模板自动生成前端JS单元测试的方法及装置。本发明按照每种JS单元测试框架的语法结构和语义要素形成一种语法模板(定义语法要素字段,并按照不同JS单元测试案例类型定义字段的组装顺序和填充位置的一种规则,以数据形式存储在数据库),多种语法模板构成语法模板库,支持前端开发人员根据其JS单元测试框架选择对应语法模板,采用语义要素抽取转换为用户配置的策略,支持前端开发人员可视化配置除语法结构外的最小语义要素规则,转换为标准化的前端JS单元测试案例。
图1是本发明实施例JS单元测试案例生成方法的第一流程图,如图1所示,在本发明一实施例中,本发明的JS单元测试案例生成方法具体包括步骤S101至步骤S103。
步骤S101,获取用户编写的待生成的JS单元测试案例的测试数据,其中,所述测试数据包括:至少一种JS代码、每个JS代码各自对应的输入数据和预期输出数据以及各JS代码的顺序。
在本发明实施例中,JS代码(或JS方法)的代码类型包括:普通变量操作、异步请求发送和用户界面操作。编写JS单元测试案例就是编写这一种或多种代码类型的测试组合。
在本发明实施例中,前端开发人员(即用户)输入一段JS代码的标识符或者JS方法名称,按照普通变量操作定义、异步请求发送定义、用户界面操作定义三种方式设计测试数据。
在本发明实施例中,根据各JS代码的顺序,前端开发人员可以使用拖拽组合的形式来设置这些不同代码类型的测试数据的顺序,从而形成正确的代码测试顺序,最终将生成的测试数据进行保存。
在本发明一实施例中,普通变量操作类型的JS代码的输入数据包括:变量名称、数据类型和数据值;普通变量操作类型的JS代码的预期输出数据包括:变量名称、数据类型和数据值。
在本发明一实施例中,异步请求发送类型的JS代码的输入数据包括:请求Url、请求数据类型和请求数据值;异步请求发送类型的JS代码的预期输出数据包括:响应数据类型和响应数据值。
在本发明一实施例中,用户界面操作类型的JS代码的输入数据包括:HTML元素类型、标识符和事件名称;用户界面操作类型的JS代码的预期输出数据包括:变量名称、数据类型和数据值。
步骤S102,获取用户指定的所述待生成的JS单元测试案例对应的JS单元测试框架,并确定所述JS单元测试框架对应的预设的语法模板。
在本发明实施例中,每种JS单元测试框架都有特有的语法结构和语义要素,本发明按照其语法结构和语义要素定义要素字段,并按照不同代码类型定义要素字段的组装顺序和填充位置,以数据形式存储在数据库,形成每种JS单元测试框架各自对应的语法模板。
步骤S103,根据所述语法模板以及所述测试数据生成所述待生成的JS单元测试案例。
在本发明实施例中,生成JS单元测试案例则需要按照与JS单元测试框架对应的语法模板,声明输入数据和预期输出数据,执行JS代码,将实际执行结果(实际输出数据)与预期输出数据进行断言比较。
在本发明一具体实施例中,前端开发人员选择JS单元测试框架后,系统自动查找与该JS单元测试框架对应的语法模板,并把语法模板信息传递给案例生成器,案例生成器再判断测试数据中各JS代码的代码类型:若代码类型为普通变量操作,则匹配普通变量操作的语法模板;若为异步请求发送,则匹配异步请求发送的语法模板,若为用户界面操作,则匹配用户界面操作的语法模板,然后根据开发人员设置的测试数据中每个JS代码各自对应的输入数据和预期输出数据以及各JS代码的顺序来组装语法结构、语义要素,最终生成基于约定语法模板的JS单元测试案例文件。
由此可见,本发明通过生成多种JS单元测试框架各自对应的语法模板,用户仅需配置JS单元测试案例除除语法结构外的部分,即测试数据,进而根据用户选择的JS单元测试框架直接生成对应的标准化的前端JS单元测试案例,提高了前端JS单元测试案例的生成效率,也降低了开发人员的技术门槛。
图2是本发明实施例JS单元测试案例生成方法的第二流程图,如图2所示,在本发明一实施例中,本发明各JS单元测试框架对应的语法模板的具体生成流程包括步骤S201至步骤S203。
步骤S201,获取预设的多种JS单元测试框架各自的语法结构和语义要素。
步骤S202,根据所述语法结构和所述语义要素确定所述预设的多种JS单元测试框架各自对应的要素字段。
步骤S203,针对每种所述JS单元测试框架,根据每种所述JS代码的代码类型对应的要素字段的组装顺序和填充位置生成每种所述代码类型对应的语法模板,得到每种所述JS单元测试框架各自对应的语法模板。
在本发明实施例中,每种代码类型具有对应的要素字段的组装顺序和填充位置。本步骤针对每种JS单元测试框架,分别生成每种代码类型的语法模板,即一种JS单元测试框架对应的语法模板中包含每种代码类型的语法模板。
在本发明实施例中,代码类型包括:普通变量操作、异步请求发送和用户界面操作。每种JS单元测试框架对应的语法模板均包含:普通变量操作的语法模板、异步请求发送的语法模板和用户界面操作的语法模板。
在本发明可选实施例中,每种JS单元测试框架对应的语法模板还包括变量声明、变量赋值、模拟请求发送、响应数据赋值、DOM事件触发、JS代码/方法执行、实际响应数据与预期响应数据比较断言的语法结构以及各拆分要素的关联关系。
从以上实施例可以看出,本发明提供了一种基于约定语法模板自动生成前端JS单元测试的装置。通过解析前端JS单元测试框架的语法模板,根据这些语义信息的要素规则提取成用户界面呈现给前端开发人员。帮助前端开发人员仅需定义一次数据信息就能生成多种单元测试案例。降低前端开发人员学习JS单元测试框架和编写单元测试案例带来的成本,最大限度提高前端代码质量。其至少实现了以下有益效果:
1、根据业务逻辑和用户界面代码提供不同设计规则,减小案例编写难度;
2、标准化生成前端JS单元测试案例,自动提高案例编写质量;
3、可控的用户配置检查方案,杜绝案例要素遗漏或冗余。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于同一发明构思,本发明实施例还提供了一种JS单元测试案例生成装置,可以用于实现上述实施例所描述的JS单元测试案例生成方法,如下面的实施例所述。由于JS单元测试案例生成装置解决问题的原理与JS单元测试案例生成方法相似,因此JS单元测试案例生成装置的实施例可以参见JS单元测试案例生成方法的实施例,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是本发明实施例JS单元测试案例生成装置的第一结构框图,如图3所示,在本发明一实施例中,本发明的JS单元测试案例生成装置包括:测试数据获取单元1、语法模板确定单元2和测试案例生成单元3。
测试数据获取单元1,用于获取用户编写的待生成的JS单元测试案例的测试数据,其中,所述测试数据包括:至少一种JS代码、每个JS代码各自对应的输入数据和预期输出数据以及各JS代码的顺序。
语法模板确定单元2,用于获取用户指定的所述待生成的JS单元测试案例对应的JS单元测试框架,并确定所述JS单元测试框架对应的预设的语法模板。
测试案例生成单元3,用于根据所述语法模板以及所述测试数据生成所述待生成的JS单元测试案例。
图4是本发明实施例JS单元测试案例生成装置的第二结构框图,如图4所示,在本发明一实施例中,本发明的JS单元测试案例生成装置还包括:
框架数据获取单元4,用于获取预设的多种JS单元测试框架各自的语法结构和语义要素;
要素字段定义单元5,用于根据所述语法结构和所述语义要素确定所述预设的多种JS单元测试框架各自对应的要素字段;
语法模板生成单元6,用于针对每种所述JS单元测试框架,根据每种所述JS代码的代码类型对应的要素字段的组装顺序和填充位置生成每种所述代码类型对应的语法模板,得到每种所述JS单元测试框架各自对应的语法模板。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机设备。如图5所示,该计算机设备包括存储器、处理器、通信接口以及通信总线,在存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例方法中的步骤。
处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及单元,如本发明上述方法实施例中对应的程序单元。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及作品数据处理,即实现上述方法实施例中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个单元存储在所述存储器中,当被所述处理器执行时,执行上述实施例中的方法。
上述计算机设备具体细节可以对应参阅上述实施例中对应的相关描述和效果进行理解,此处不再赘述。
为了实现上述目的,根据本申请的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在计算机处理器中执行时实现上述JS单元测试案例生成方法中的步骤。本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种JS单元测试案例生成方法,其特征在于,包括:
获取用户编写的待生成的JS单元测试案例的测试数据,其中,所述测试数据包括:至少一种JS代码、每个JS代码各自对应的输入数据和预期输出数据以及各JS代码的顺序;
获取用户指定的所述待生成的JS单元测试案例对应的JS单元测试框架,并确定所述JS单元测试框架对应的预设的语法模板;
根据所述语法模板以及所述测试数据生成所述待生成的JS单元测试案例。
2.根据权利要求1所述的JS单元测试案例生成方法,其特征在于,还包括:
获取预设的多种JS单元测试框架各自的语法结构和语义要素;
根据所述语法结构和所述语义要素确定所述预设的多种JS单元测试框架各自对应的要素字段;
针对每种所述JS单元测试框架,根据每种所述JS代码的代码类型对应的要素字段的组装顺序和填充位置生成每种所述代码类型对应的语法模板,得到每种所述JS单元测试框架各自对应的语法模板。
3.根据权利要求1所述的JS单元测试案例生成方法,其特征在于,所述JS代码的代码类型包括:普通变量操作、异步请求发送和用户界面操作。
4.根据权利要求3所述的JS单元测试案例生成方法,其特征在于,所述普通变量操作类型的JS代码的输入数据包括:变量名称、数据类型和数据值;所述普通变量操作类型的JS代码的预期输出数据包括:变量名称、数据类型和数据值;
所述异步请求发送类型的JS代码的输入数据包括:请求Url、请求数据类型和请求数据值;所述异步请求发送类型的JS代码的预期输出数据包括:响应数据类型和响应数据值;
所述用户界面操作类型的JS代码的输入数据包括:HTML元素类型、标识符和事件名称;所述用户界面操作类型的JS代码的预期输出数据包括:变量名称、数据类型和数据值。
5.一种JS单元测试案例生成装置,其特征在于,包括:
测试数据获取单元,用于获取用户编写的待生成的JS单元测试案例的测试数据,其中,所述测试数据包括:至少一种JS代码、每个JS代码各自对应的输入数据和预期输出数据以及各JS代码的顺序;
语法模板确定单元,用于获取用户指定的所述待生成的JS单元测试案例对应的JS单元测试框架,并确定所述JS单元测试框架对应的预设的语法模板;
测试案例生成单元,用于根据所述语法模板以及所述测试数据生成所述待生成的JS单元测试案例。
6.根据权利要求5所述的JS单元测试案例生成装置,其特征在于,还包括:
框架数据获取单元,用于获取预设的多种JS单元测试框架各自的语法结构和语义要素;
要素字段定义单元,用于根据所述语法结构和所述语义要素确定所述预设的多种JS单元测试框架各自对应的要素字段;
语法模板生成单元,用于针对每种所述JS单元测试框架,根据每种所述JS代码的代码类型对应的要素字段的组装顺序和填充位置生成每种所述代码类型对应的语法模板,得到每种所述JS单元测试框架各自对应的语法模板。
7.根据权利要求5所述的JS单元测试案例生成装置,其特征在于,所述JS代码的代码类型包括:普通变量操作、异步请求发送和用户界面操作。
8.根据权利要求7所述的JS单元测试案例生成装置,其特征在于,所述普通变量操作类型的JS代码的输入数据包括:变量名称、数据类型和数据值;所述普通变量操作类型的JS代码的预期输出数据包括:变量名称、数据类型和数据值;
所述异步请求发送类型的JS代码的输入数据包括:请求Url、请求数据类型和请求数据值;所述异步请求发送类型的JS代码的预期输出数据包括:响应数据类型和响应数据值;
所述用户界面操作类型的JS代码的输入数据包括:HTML元素类型、标识符和事件名称;所述用户界面操作类型的JS代码的预期输出数据包括:变量名称、数据类型和数据值。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序在计算机处理器中执行时实现如权利要求1至4任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010585036.6A CN111767217B (zh) | 2020-06-24 | 2020-06-24 | Js单元测试案例生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010585036.6A CN111767217B (zh) | 2020-06-24 | 2020-06-24 | Js单元测试案例生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111767217A true CN111767217A (zh) | 2020-10-13 |
CN111767217B CN111767217B (zh) | 2024-02-02 |
Family
ID=72722169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010585036.6A Active CN111767217B (zh) | 2020-06-24 | 2020-06-24 | Js单元测试案例生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767217B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487072A (zh) * | 2020-11-24 | 2021-03-12 | 云汉芯城(上海)互联网科技股份有限公司 | 电子元器件的参数结构标准化方法、装置、系统及介质 |
CN113051163A (zh) * | 2021-03-24 | 2021-06-29 | 中国工商银行股份有限公司 | 单元测试方法、装置、电子设备及存储介质 |
CN113157586A (zh) * | 2021-04-30 | 2021-07-23 | 中国工商银行股份有限公司 | 一种金融市场单元测试案例生成方法及装置 |
CN118194292A (zh) * | 2024-03-15 | 2024-06-14 | 北京奇虎科技有限公司 | 机器学习框架的测试数据生成方法、装置及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407973A (zh) * | 2014-11-25 | 2015-03-11 | 珠海格力电器股份有限公司 | 一种自动化单元测试的实现方法及装置 |
CN104750604A (zh) * | 2013-12-30 | 2015-07-01 | 中国银联股份有限公司 | 浏览器兼容性测试案例的生成方法和装置 |
CN107133174A (zh) * | 2017-05-04 | 2017-09-05 | 浙江路港互通信息技术有限公司 | 测试用例代码自动生成装置与方法 |
CN107256195A (zh) * | 2017-06-08 | 2017-10-17 | 武汉斗鱼网络科技有限公司 | 网页前端测试方法及装置 |
CN108595342A (zh) * | 2018-05-14 | 2018-09-28 | 杭州有赞科技有限公司 | 单元测试方法和装置 |
CN110287117A (zh) * | 2019-06-27 | 2019-09-27 | 江苏满运软件科技有限公司 | RESTful接口测试方法、系统、设备及存储介质 |
CN110297767A (zh) * | 2019-06-03 | 2019-10-01 | 平安科技(深圳)有限公司 | 测试用例自动执行方法、装置、设备及存储介质 |
CN110908918A (zh) * | 2019-11-29 | 2020-03-24 | 北京网聘咨询有限公司 | 针对多个相互依赖的node.js模块的单元测试方法及装置 |
CN110928772A (zh) * | 2019-11-05 | 2020-03-27 | 深圳前海微众银行股份有限公司 | 一种测试方法及装置 |
-
2020
- 2020-06-24 CN CN202010585036.6A patent/CN111767217B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750604A (zh) * | 2013-12-30 | 2015-07-01 | 中国银联股份有限公司 | 浏览器兼容性测试案例的生成方法和装置 |
CN104407973A (zh) * | 2014-11-25 | 2015-03-11 | 珠海格力电器股份有限公司 | 一种自动化单元测试的实现方法及装置 |
CN107133174A (zh) * | 2017-05-04 | 2017-09-05 | 浙江路港互通信息技术有限公司 | 测试用例代码自动生成装置与方法 |
CN107256195A (zh) * | 2017-06-08 | 2017-10-17 | 武汉斗鱼网络科技有限公司 | 网页前端测试方法及装置 |
CN108595342A (zh) * | 2018-05-14 | 2018-09-28 | 杭州有赞科技有限公司 | 单元测试方法和装置 |
CN110297767A (zh) * | 2019-06-03 | 2019-10-01 | 平安科技(深圳)有限公司 | 测试用例自动执行方法、装置、设备及存储介质 |
CN110287117A (zh) * | 2019-06-27 | 2019-09-27 | 江苏满运软件科技有限公司 | RESTful接口测试方法、系统、设备及存储介质 |
CN110928772A (zh) * | 2019-11-05 | 2020-03-27 | 深圳前海微众银行股份有限公司 | 一种测试方法及装置 |
CN110908918A (zh) * | 2019-11-29 | 2020-03-24 | 北京网聘咨询有限公司 | 针对多个相互依赖的node.js模块的单元测试方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487072A (zh) * | 2020-11-24 | 2021-03-12 | 云汉芯城(上海)互联网科技股份有限公司 | 电子元器件的参数结构标准化方法、装置、系统及介质 |
CN112487072B (zh) * | 2020-11-24 | 2021-06-08 | 云汉芯城(上海)互联网科技股份有限公司 | 电子元器件的参数结构标准化方法、装置、系统及介质 |
CN113051163A (zh) * | 2021-03-24 | 2021-06-29 | 中国工商银行股份有限公司 | 单元测试方法、装置、电子设备及存储介质 |
CN113157586A (zh) * | 2021-04-30 | 2021-07-23 | 中国工商银行股份有限公司 | 一种金融市场单元测试案例生成方法及装置 |
CN113157586B (zh) * | 2021-04-30 | 2024-04-05 | 中国工商银行股份有限公司 | 一种金融市场单元测试案例生成方法及装置 |
CN118194292A (zh) * | 2024-03-15 | 2024-06-14 | 北京奇虎科技有限公司 | 机器学习框架的测试数据生成方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111767217B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11099820B2 (en) | Reconfiguring application software into microservice architecture | |
US20210334093A1 (en) | Automating Identification of Code Snippets for Library Suggestion Models | |
US20200293433A1 (en) | Automating Identification of Test Cases for Library Suggestion Models | |
US11340896B2 (en) | Library model addition | |
US20200264870A1 (en) | Automating Generation of Library Suggestion Engine Models | |
CN111767217A (zh) | Js单元测试案例生成方法及装置 | |
US9983984B2 (en) | Automated modularization of graphical user interface test cases | |
CN110944048B (zh) | 业务逻辑配置方法及装置 | |
US11481200B1 (en) | Checking source code validity at time of code update | |
CN110096263A (zh) | Web前端代码自动生成方法及装置 | |
CN110262783B (zh) | 一种接口生成方法、装置及终端设备 | |
Challita et al. | Towards formal-based semantic interoperability in multi-clouds: the fclouds framework | |
CN109828759A (zh) | 代码编译方法、装置、计算机装置及存储介质 | |
CN114791808A (zh) | 一种数据流图生成方法及装置 | |
CN110737431A (zh) | 软件开发方法、开发平台、终端设备及存储介质 | |
CN112130849B (zh) | 代码自动生成方法及装置 | |
CN110058849A (zh) | 流程图的生成方法、装置、计算机设备以及存储介质 | |
CN113778897A (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
Schmidt et al. | Automatic generation of thread communication graphs from SystemC source code | |
CN114143235A (zh) | Nfv自动测试方法、装置、设备及存储介质 | |
US20190317877A1 (en) | Application state monitoring | |
US8954307B1 (en) | Chained programming language preprocessors for circuit simulation | |
CN113672233B (zh) | 一种基于Redfish的服务器带外管理方法、装置及设备 | |
KR102117165B1 (ko) | 바이너리 분석을 위한 중간 언어 테스트 방법 및 장치 | |
US9891894B1 (en) | Code continuity preservation during automatic code generation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |