CN105446874A - 一种资源配置文件的检测方法和装置 - Google Patents
一种资源配置文件的检测方法和装置 Download PDFInfo
- Publication number
- CN105446874A CN105446874A CN201410499353.0A CN201410499353A CN105446874A CN 105446874 A CN105446874 A CN 105446874A CN 201410499353 A CN201410499353 A CN 201410499353A CN 105446874 A CN105446874 A CN 105446874A
- Authority
- CN
- China
- Prior art keywords
- resource distribution
- script
- detection
- distribution file
- file
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种资源配置文件的检测方法和装置,所述方法包括:获取指定路径下的资源配置文件,所述资源配置文件具有配置规则信息;将所述配置规则信息转换为所述资源配置文件的检测代码;采用所述检测代码生成测试用例;采用所述测试用例检测所述资源配置文件,获得运行结果。本发明可以减少检测配置文件时的人工操作,加快检测速度,缩短检测耗时,降低排查资源配置文件错误的难度。
Description
技术领域
本发明涉及文件检测技术领域,特别是涉及一种资源配置文件的检测方法和一种资源配置文件的检测装置。
背景技术
随着计算机技术的不断发展,用户的需求正在不断变化和增加,相应地,为用户提供服务的应用程序也在逐渐更新和扩展,由于各应用程序均需要相应的配置文件才能正常运行,因此,配置文件的准确性非常重要。
所谓配置文件,即对不同对象进行不同配置的文件。尤其地,在游戏开发领域中,配置文件可以包括游戏策划配置文件,用于游戏策划人员配置游戏中的逻辑行为和引用资源,在配置文件中的每一列都具有配置规则,该配置规则即是游戏策划人员在编写配置文件中每一列的值时必须遵守的规则。
目前,对于配置文件的检测通常可以是在应用该配置文件之前,或者,当配置文件应用到程序中出现问题后,通过人工肉眼观察的方式检测配置文件,验证每一列的值是否符合配置规则。
然而,配置文件中的列数较多,并且,每一列中具有很多行,此外,需要检测的配置文件往往是数以万计,采用人工肉眼观察的方式检测配置文件,需要耗费大量的人力,并且,人工检测的速度慢,耗时长,此外,若配置文件中某一列的值出现的错误不明显,人工检测很难发现该错误,导致排查错误的难度增加。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:提供一种资源配置文件的检测方法和装置,用以减少检测配置文件时的人工操作,加快检测速度,缩短检测耗时,降低排查资源配置文件错误的难度。
发明内容
本发明实施例所要解决的技术问题是提供一种资源配置文件的检测方法,用以减少检测配置文件时的人工操作,加快检测速度,缩短检测耗时,降低排查资源配置文件错误的难度。
相应的,本发明实施例还提供了一种资源配置文件的检测装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明公开了一种资源配置文件的检测方法,所述方法包括:
获取指定路径下的资源配置文件,所述资源配置文件具有配置规则信息;
将所述配置规则信息转换为所述资源配置文件的检测代码;
采用所述检测代码生成测试用例;
采用所述测试用例检测所述资源配置文件,获得运行结果。
优选地,所述方法还包括:
将所述运行结果存储在日志中;
展示所述日志。
优选地,所述资源配置文件存储在SVN服务器上,所述获取指定路径下的资源配置文件的步骤包括:
在指定时间运行预置的自动运行脚本;所述预置的自动运行脚本包括获取资源脚本;
所述预置的自动运行脚本调用所述获取资源脚本;
所述获取资源脚本从所述SVN服务器的指定路径下获取资源配置文件。
优选地,所述预置的自动运行脚本还包括检测脚本,所述采用所述测试用例检测所述资源配置文件,获得运行结果的步骤包括:
所述预置的自动运行脚本调用所述检测脚本;
所述检测脚本运行所述测试用例;
所述测试用例将所述资源配置文件读取至内存中;
将所述资源配置文件以表格形式存储为DataTable类型;
依次从所述DataTable类型中读取一行表格数据;
依次判断所述一行表格数据中一列或多列的值是否满足所述检测代码;
若满足,则生成所述一列或多列的值检测正确的结果;
若不满足,则生成所述一列或多列的值检测错误的结果;
判断所述DataTable类型中是否存在未检测的一行或多行表格数据;
若是,则返回依次从所述DataTable类型中读取一行表格数据的子步骤;
若否,则完成所述资源配置文件的检测。
优选地,所述预置的自动运行脚本还包括展示检测结果脚本,所述展示所述日志的步骤包括:
将所述日志通过邮件发送至指定地址;
或者,
将所述日志转换为超文本标记语言HTML文件;
展示所述超文本标记语言HTML文件。
优选地,所述采用所述检测代码生成测试用例的步骤包括:
生成将所述资源配置文件以表格形式存储至DataTable类型中的存储代码;
采用所述存储代码和检测代码生成测试用例。
根据本发明的实施例,还提供了一种资源配置文件的检测装置,所述装置包括:
资源配置文件获取模块,用于获取指定路径下的资源配置文件,所述资源配置文件具有配置规则信息;
检测代码转换模块,用于将所述配置规则信息转换为所述资源配置文件的检测代码;
测试用例生成模块,用于采用所述检测代码生成测试用例;
运行结果获得模块,用于采用所述测试用例检测所述资源配置文件,获得运行结果。
优选地,所述装置还包括:
运行结果存储模块,用于将所述运行结果存储在日志中;
日志展示模块,用于展示所述日志。
优选地,所述资源配置文件存储在SVN服务器上,所述资源配置文件获取模块包括:
自动运行脚本运行子模块,用于在指定时间运行预置的自动运行脚本;所述预置的自动运行脚本包括获取资源脚本;
位于自动运行脚本运行子模块的获取资源脚本调用子模块,用于调用所述获取资源脚本;
位于获取资源脚本调用子模块的资源配置文件获取子模块,用于从所述SVN服务器的指定路径下获取资源配置文件。
优选地,所述预置的自动运行脚本还包括检测脚本,所述运行结果获得模块包括:
位于自动运行脚本模块的检测脚本调用子模块,用于调用所述检测脚本;
位于检测脚本调用子模块的测试用例运行子模块,用于运行所述测试用例;
位于测试用例运行子模块的资源配置文件读取子模块,用于将所述资源配置文件读取至内存中;
资源配置文件存储子模块,用于将所述资源配置文件以表格形式存储为DataTable类型;
一行表格数据读取子模块,用于依次从所述DataTable类型中读取一行表格数据;
检测代码判断子模块,用于依次判断所述一行表格数据中一列或多列的值是否满足所述检测代码;
满足判定子模块,用于在一行表格数据中一列或多列的值满足所述检测代码时,生成所述一列或多列的值检测正确的结果;
不满足判定子模块,用于在一行表格数据中一列或多列的值不满足所述检测代码时,生成所述一列或多列的值检测错误的结果;
未检测的表格数据判断子模块,用于判断所述DataTable类型中是否存在未检测的表格数据;
存在判定子模块,用于在所述DataTable类型中存在未检测的表格数据时,返回依次从所述DataTable类型中读取一行表格数据的子步骤;
不存在判定子模块,用于在所述DataTable类型中不存在未检测的表格数据时,完成所述资源配置文件的检测。
优选地,所述预置的自动运行脚本还包括展示检测结果脚本,所述日志展示模块包括:
日志发送子模块,用于将所述日志通过邮件发送至指定地址;
或者,
日志转换子模块,用于将所述日志转换为超文本标记语言HTML文件;
HTML文件展示子模块,用于展示所述超文本标记语言HTML文件。
优选地,所述测试用例生成模块包括:
存储代码生成子模块,用于生成将所述资源配置文件以表格形式存储至DataTable类型中的存储代码;
测试用例生成子模块,用于采用所述转换代码、存储代码和检测代码生成测试用例。
与现有技术相比,本发明实施例包括以下优点:
本发明通过将所述配置规则信息转换为所述资源配置文件的检测代码,从而生成测试用例,可以采用程序代码的方式实现配置规则信息,因此,可以自动验证资源配置文件中每一列的值是否符合配置规则信息,从而可以避免人工的方式检测配置文件,可以减少检测配置文件时的人工操作,加快检测速度,缩短检测耗时,降低排查资源配置文件错误的难度。
本发明通过在指定时间运行预置的自动运行脚本,可以很稳定的实现定时启动检测脚本,并且,测试过程中用到的脚本,统一编写在自动运行脚本中,可以方便修改,方便统一执行,从而可以减少检测配置文件时的人工操作,加快检测速度,缩短检测耗时,降低排查资源配置文件错误的难度。
本发明通过将资源配置文件读取到内存中,以表格的形式存储,可以很方便的使用各种高级语言解析表格,进行配置规则信息的判断,将被检测的资源配置文件所引用到的相关资源配置文件文件,均读取到内存中,用DataTable保存,可以降低IO(Input/Output,输入/输出)访问量,提高访问速度,从而可以减少检测配置文件时的人工操作,加快检测速度,缩短检测耗时,降低排查资源配置文件错误的难度。
附图说明
图1示出了本发明一种资源配置文件的检测方法实施例的步骤流程图;
图2示出了本发明一种资源配置文件的检测方法实施例的检测流程示意图;
图3示出了本发明一种资源配置文件的检测装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的核心构思之一在于,通过获取指定路径下的资源配置文件,采用程序代码的方式实现配置规则信息,从而生成的测试用例,检测资源配置文件,可以自动验证资源配置文件中每一列的值是否符合配置规则信息。
参照图1,示出了本发明一种资源配置文件的检测方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,获取指定路径下的资源配置文件,所述资源配置文件具有配置规则信息;
在具体应用中,资源配置文件可以应用于游戏策划中,因此,资源配置文件可以是游戏策划人员对游戏中的逻辑行为和引用资源的一种配置,可以以txt格式保存。
以下通过资源配置文件的两种示例,具体说明资源配置文件。
例如,资源配置文件A.txt可以如下表1所示:
Id | Name | SrcId | Scale | Icon |
1 | 标准人体模型 | 2001 | 0.2 | /Game/Icons/fm001.png |
2 | 标准动物模型 | 3001 | 0.3 | /Game/Icons/anmial001.png |
表1
资源配置文件B.txt可以如下表2所示:
Id | Name | Title |
2001 | 角色1 | {Play1} |
3001 | 动物1 | {Animal1} |
表2
资源配置文件中,每一列都具有配置规则信息,该配置规则信息可以是游戏策划人员在编写资源配置文件时必须遵守的规则,以资源配置文件A.txt为例,Id列的配置规则信息可以是Id列中各行的值唯一且递增,SrcId列的配置规则信息可以是SrcId列中各行的值必须在资源配置文件B.txt中Id列定义,依次类推。
当然,上述配置规则信息的配置方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他配置规则信息的配置方式,本发明实施例对此不加以限制。另外,除了上述配置规则信息的配置方式外,本领域技术人员还可以根据实际需要采用其他配置规则信息的配置方式,本发明实施例对此也不加以限制。
在本发明实施例的一种优选示例中,所述资源配置文件存储在SVN服务器上,所述步骤101具体可以包括以下子步骤:
子步骤S110,在指定时间运行预置的自动运行脚本;所述预置的自动运行脚本包括获取资源脚本;
作为本发明具体应用的一种示例,可以通过定时或者手动触发的方式运行预置的自动运行脚本,在本发明实施例中,自动运行脚本(RunTxtTest.cmd)可以被Windows操作系统的计划任务定时调用,自动运行脚本可以包括获取资源脚本。
自动运行脚本的一种示例可以如下:
子步骤S120,所述预置的自动运行脚本调用所述获取资源脚本;
在具体实现中,获取资源脚本(GetLatestRes.cmd)的一种代码逻辑可以如下所示:
Svn update资源绝对路径 |
自动运行脚本可以调用后续的脚本,例如获取资源脚本,执行相应操作。
子步骤S130,所述获取资源脚本从所述SVN服务器的指定路径下获取资源配置文件。
在实际应用中,SVN服务器是Subversion的简称,是一个开放源代码的版本控制系统,所有文件均可以通过该系统保存在服务器上,可以通过SVNupdate[path]命令获取资源配置文件等。
获取资源脚本可以调用SVN服务器提供的update命令获取指定路径下的资源配置文件。
需要说明的是,获取资源脚本还可以获取包括编译完成的运行程序、美术资源、策划资源、引擎资源等,运行完策划资源配置文件的检测之后,还可以运行其他检测程序以检测其他资源配置文件等,运行一次获取资源脚本,即可以获取所有其他检测程序需要检测的其他资源配置文件。此外,获取资源脚本所获取的资源配置文件可以为更新时间与当前时间最接近的资源配置文件。
本发明通过在指定时间运行预置的自动运行脚本,可以很稳定的实现定时启动检测脚本,并且,测试过程中用到的脚本,统一编写在自动运行脚本中,可以方便修改,方便统一执行,从而可以减少检测配置文件时的人工操作,加快检测速度,缩短检测耗时,降低排查资源配置文件错误的难度。
步骤102,将所述配置规则信息转换为所述资源配置文件的检测代码;
应用于本发明实施例中,配置规则信息可以转换为代码语言,即以程序的方式实现配置规则信息,用以检测资源配置文件。
例如:配置规则信息可以是某一列的数值递增且唯一,转换成代码语言即可以是判断该列当前数值小于下一个数值并且不相等;
配置规则信息可以是某一列的数值在其他文件中有定义,转换成代码语言即可以是判断该列的所有数值,在指定的文件中是否存在。
配置规则信息可以是某一列数值的取值范围在某一区间,转换成代码语言即可以是该列所有的数值都大于区间最小值,小于区间最大值
配置规则信息可以是某一列数值调用的资源文件存在,转换成代码语言即可以是判断该列每一个数值代表的文件,是否在系统中存在,等等。
当然,上述配置规则信息的转换方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他配置规则信息的转换方式,本发明实施例对此不加以限制。另外,除了上述配置规则信息的转换方式外,本领域技术人员还可以根据实际需要采用其他配置规则信息的转换方式,本发明实施例对此也不加以限制。
步骤103,采用所述检测代码生成测试用例;
在具体应用中,测试用例的执行可以通过NUnit驱动,所谓NUnit,是一个单元测试框架,通过批处理的方式调用NUnit,以NUnit的控制台方式运行包含编译完成的测试用例(TxtResTest.dll)。
基于NUnit框架编译的测试用例可以使用C#语言编写,将转换完成的检测代码套用于NUnit框架中,可以生成测试用例。
在本发明实施例的一种优选示例中,所述步骤103具体可以包括以下子步骤:
子步骤S210,生成将所述资源配置文件以表格形式存储至DataTable类型中的存储代码;
子步骤S220,采用所述存储代码和检测代码生成测试用例。
以检测资源配置文件A.txt中Id列为例,测试用例的一种检测逻辑可以如下所示:
首先,可以生成将txt格式的资源配置文件以表格形式保存为DataTable类型的存储代码,例如:testDT=TXTUtility.GetTxtAsDT(txtfullPaht)。
而后,可以生成依据配置规则信息转换而成的检测代码,例如:
[Test]
PublicvoidId(DataTabledt)
{
stringheaderValue="";
foreach(DataRowdrindt.Rows)
{
//找出DataTable中每一行DataRow的Id列
headerValue=dr["Id"].Value;
boolisCreate=调用判断id列值递增方法
Assert.Fail(string.format("{0}列不符合递增规则",headerValue));
boolisUnique=调用判断Id列值唯一不重复方法
Assert.Fail(string.format("{0}列发生重复",headerValue));
if(isCreate&&isUnique)
Assert.Pass("Pass");
}
最后,还可以做一些清理工作。
需要说明的是,测试用例可以保存在本地,当编译检测代码生成该测试用例的dll文件后,可以将dll文件存放在指定目录运行,当测试代码发生修改时,可以用修改后的dll文件替换原先存放在指定目录的dll文件。
步骤104,采用所述测试用例检测所述资源配置文件,获得运行结果。
在具体实现中,运行编译完成的试用例检测资源配置文件,可以获得运行结果。
在本发明实施例的一种优选示例中,所述预置的自动运行脚本还包括检测脚本,所述步骤104具体可以包括以下子步骤:
子步骤S301,所述预置的自动运行脚本调用所述检测脚本;
在具体实现中,检测脚本(Run.cmd)可以包括在预置的自动运行脚本中,检测脚本的一种代码逻辑可以如下所示:
.\Nunit\nunit-console.exe%EXE_DIR%TxtResTest.dll |
其中,nunit-console.exe是NUnit测试框架的控制台运行方式。
预置的自动运行脚本调用获取资源脚本后,可以调用检测脚本执行检测操作。
子步骤S302,所述检测脚本运行所述测试用例;
子步骤S303,所述测试用例将所述资源配置文件读取至内存中;
子步骤S304,将所述资源配置文件以表格形式存储为DataTable类型;
子步骤S305,依次从所述DataTable类型中读取一行表格数据;
子步骤S306,依次判断所述一行表格数据中一列或多列的值是否满足所述检测代码;
子步骤S307,若满足,则生成所述一列或多列的值检测正确的结果;
子步骤S308,若不满足,则生成所述一列或多列的值检测错误的结果;
子步骤S309,判断所述DataTable类型中是否存在未检测的表格数据;若存在,则执行子步骤S310,若不存在,则执行子步骤S311;
子步骤S310,返回依次从所述DataTable类型中读取一行表格数据的子步骤;
子步骤S311,完成所述资源配置文件的检测。
在具体实现中,进行检测之前,需要将txt格式的资源配置文件读取到内存中,由于txt格式的资源配置文件的结构类似于表格,因此,可以将txt格式的资源配置文件以表格形式的表格数据,存放在.NET语言中的DataTable类型中,txt格式的资源配置文件中的每一行类似于DataTable中的DataRow类型,txt格式的资源配置文件中的每一列类似于DataTable中的DataColumn类型,将txt格式的资源配置文件读取到内存中后,假设存放在一个名为dataTableA的DataTable类型中,每次读取一行表格数据,对这一行的表格数据中的每一列按照测试用例中预置的检测代码进行检测,当该行表格数据检测完成后,判断是否还有未检测的表格数据,若有,则依次读取下一行表格数据,并进行检测,若没有,则完成资源配置文件的检测。
本发明通过将资源配置文件读取到内存中,以表格的形式存储,可以很方便的使用各种高级语言解析表格,进行配置规则信息的判断,将被检测的资源配置文件所引用到的相关资源配置文件文件,均读取到内存中,用DataTable保存,可以降低IO(Input/Output,输入/输出)访问量,提高访问速度,从而可以减少检测配置文件时的人工操作,加快检测速度,缩短检测耗时,降低排查资源配置文件错误的难度。
在本发明实施例的一种优选示例中,所述方法还包括:
将所述运行结果存储在日志中;
展示所述日志。
作为本发明具体应用的一种示例,运行结果可以保存在日志log中,将包含运行结果的日志展示出来。
在本发明实施例的一种优选示例中,所述预置的自动运行脚本还包括展示检测结果脚本,所述展示所述日志的步骤具体可以包括以下子步骤:
子步骤S410,将所述日志通过邮件发送至指定地址;
或者,
子步骤S420,将所述日志转换为超文本标记语言HTML文件;
子步骤S430,展示所述超文本标记语言HTML文件。
在具体应用中,预置的自动运行脚本还可以包括展示检测结果脚本,假设以发送邮件为例,展示检测结果脚本的一种逻辑可以如下所示:
将包含运行结果的日志log以邮件的形式发送给指定的邮箱地址,或者,将包含运行结果的日志log转换成HTML(HyperTextMark-upLanguage,超文本标记语言)文件,并在网站上显示。
本发明通过将所述配置规则信息转换为所述资源配置文件的检测代码,从而生成测试用例,可以采用程序代码的方式实现配置规则信息,因此,可以自动验证资源配置文件中每一列的值是否符合配置规则信息,从而可以避免人工的方式检测配置文件,可以减少检测配置文件时的人工操作,加快检测速度,缩短检测耗时,降低排查资源配置文件错误的难度。
为使本领域技术人员更好的理解本发明实施例的步骤104,以下通过以检测资源配置文件A.txt中的Id\SrcId\Scale\Icon四列为例,进一步说明本发明实施例。
参照图2,示出了本发明一种资源配置文件的检测方法实施例的检测流程示意图。
如图2所示,检测开始后,可以读取资源配置文件A.txt,还可以把资源配置文件A.txt需要引用到的其他txt格式的资源配置文件,例如,资源配置文件B.txt,读取到内存中,保存在DataTable类型中,假设保存的DataTable类型的名称为testDT。
判断testDT中是否有剩余行未检测,若没有,则结束资源配置文件的检测;若有,则读取testDT中的一行DataRow,假设该行DataRow为dr行,可以读取dr行中的Id列,假设数值为IdValue,以资源配置文件A.txt中第一行为例,第一行Id列IdValue值为1,判断Id列是否为递增且唯一,转换为代码语言则为判断Id列当前数值是否小于下一个数值并且不相等,Id列当前数值为1,下一个数值为2,因此,判定Id列当前数值小于下一个数值并且不相等,得出Assert.Pass(检测正确)的运行结果,将运行结果保存至日志log中。
然后,可以读取dr行中的Srcld列,假设值为SrcldValue,以资源配置文件A.txt中第一行为例,第一行的Srcld列SrcldValue值为2001,判断SrcldValue是否存在于资源配置文件B.txt的Id列,查找资源配置文件B.txt中的Id列,可以在Id列中找到为2001的值,因此,判定SrcldValue存在于资源配置文件B.txt的Id列,获得Assert.Pass的运行结果,将运行结果保存至日志log中。
然后,可以读取dr行中的Scale列,假设值为ScaleValue,以资源配置文件A.txt中第一行为例,第一行的Scale列ScaleValue值为0.2,判断ScaleValue是否大于零且小于一,由于0<0.2<1,因此,判定ScaleValue大于零且小于一,获得Assert.Pass的运行结果,将运行结果保存至日志log中。
然后,可以读取dr行中的Icon列,假设值为IconValue,以资源配置文件A.txt中第一行为例,第一行的Icon列IconValue值为/Game/Icons/fm001.png,判断IconValue中指定路径的文件是否存在,按照该路径搜寻文件,若发现文件名为fm001.png的文件,则判定IconValue中指定路径的文件存在,获得Assert.Pass的运行结果,将运行结果保存至日志log中;若未发现文件名为fm001.png的文件,则判定IconValue中指定路径的文件不存在,获得Assert.Fail(检测错误)的运行结果,将运行结果保存至日志log中,返回判断testDT中是否有剩余行的步骤。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明一种资源配置文件的检测装置实施例的结构框图,具体可以包括如下模块:
资源配置文件获取模块301,用于获取指定路径下的资源配置文件,所述资源配置文件具有配置规则信息;
检测代码转换模块302,用于将所述配置规则信息转换为所述资源配置文件的检测代码;
测试用例生成模块303,用于采用所述检测代码生成测试用例;
运行结果获得模块304,用于采用所述测试用例检测所述资源配置文件,获得运行结果。
在本发明实施例的一种优选示例中,所述装置还包括:
运行结果存储模块,用于将所述运行结果存储在日志中;
日志展示模块,用于展示所述日志。
在本发明实施例的一种优选示例中,所述资源配置文件存储在SVN服务器上,所述资源配置文件获取模块301具体可以包括以下子模块:
自动运行脚本运行子模块,用于在指定时间运行预置的自动运行脚本;所述预置的自动运行脚本包括获取资源脚本;
位于自动运行脚本运行子模块的获取资源脚本调用子模块,用于调用所述获取资源脚本;
位于获取资源脚本调用子模块的资源配置文件获取子模块,用于从所述SVN服务器的指定路径下获取资源配置文件。
在本发明实施例的一种优选示例中,所述预置的自动运行脚本还包括检测脚本,所述运行结果获得模块304具体可以包括以下子模块:
位于自动运行脚本模块的检测脚本调用子模块,用于调用所述检测脚本;
位于检测脚本调用子模块的测试用例运行子模块,用于运行所述测试用例;
位于测试用例运行子模块的资源配置文件读取子模块,用于将所述资源配置文件读取至内存中;
资源配置文件存储子模块,用于将所述资源配置文件以表格形式存储为DataTable类型;
一行表格数据读取子模块,用于依次从所述DataTable类型中读取一行表格数据;
检测代码判断子模块,用于依次判断所述一行表格数据中一列或多列的值是否满足所述检测代码;
满足判定子模块,用于在一行表格数据中一列或多列的值满足所述检测代码时,生成所述一列或多列的值检测正确的结果;
不满足判定子模块,用于在一行表格数据中一列或多列的值不满足所述检测代码时,生成所述一列或多列的值检测错误的结果;
未检测的表格数据判断子模块,用于判断所述DataTable类型中是否存在未检测的表格数据;
存在判定子模块,用于在所述DataTable类型中存在未检测的表格数据时,返回依次从所述DataTable类型中读取一行表格数据的子步骤;
不存在判定子模块,用于在所述DataTable类型中不存在未检测的表格数据时,完成所述资源配置文件的检测。
在本发明实施例的一种优选示例中,所述预置的自动运行脚本还包括展示检测结果脚本,所述日志展示模块具体可以包括以下子模块:
日志发送子模块,用于将所述日志通过邮件发送至指定地址;
或者,
日志转换子模块,用于将所述日志转换为超文本标记语言HTML文件;
HTML文件展示子模块,用于展示所述超文本标记语言HTML文件。
在本发明实施例的一种优选示例中,所述测试用例生成模块303具体可以包括以下子模块:
存储代码生成子模块,用于生成将所述资源配置文件以表格形式存储至DataTable类型中的存储代码;
测试用例生成子模块,用于采用所述转换代码、存储代码和检测代码生成测试用例。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种资源配置文件的检测方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种资源配置文件的检测方法,其特征在于,所述方法包括:
获取指定路径下的资源配置文件,所述资源配置文件具有配置规则信息;
将所述配置规则信息转换为所述资源配置文件的检测代码;
采用所述检测代码生成测试用例;
采用所述测试用例检测所述资源配置文件,获得运行结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述运行结果存储在日志中;
展示所述日志。
3.根据权利要求1或2所述的方法,其特征在于,所述资源配置文件存储在SVN服务器上,所述获取指定路径下的资源配置文件的步骤包括:
在指定时间运行预置的自动运行脚本;所述预置的自动运行脚本包括获取资源脚本;
所述预置的自动运行脚本调用所述获取资源脚本;
所述获取资源脚本从所述SVN服务器的指定路径下获取资源配置文件。
4.根据权利要求3所述的方法,其特征在于,所述预置的自动运行脚本还包括检测脚本,所述采用所述测试用例检测所述资源配置文件,获得运行结果的步骤包括:
所述预置的自动运行脚本调用所述检测脚本;
所述检测脚本运行所述测试用例;
所述测试用例将所述资源配置文件读取至内存中;
将所述资源配置文件以表格形式存储为DataTable类型;
依次从所述DataTable类型中读取一行表格数据;
依次判断所述一行表格数据中一列或多列的值是否满足所述检测代码;
若满足,则生成所述一列或多列的值检测正确的结果;
若不满足,则生成所述一列或多列的值检测错误的结果;
判断所述DataTable类型中是否存在未检测的一行或多行表格数据;
若是,则返回依次从所述DataTable类型中读取一行表格数据的子步骤;
若否,则完成所述资源配置文件的检测。
5.根据权利要求4所述的方法,其特征在于,所述预置的自动运行脚本还包括展示检测结果脚本,所述展示所述日志的步骤包括:
将所述日志通过邮件发送至指定地址;
或者,
将所述日志转换为超文本标记语言HTML文件;
展示所述超文本标记语言HTML文件。
6.根据权利要求5所述的方法,其特征在于,所述采用所述检测代码生成测试用例的步骤包括:
生成将所述资源配置文件以表格形式存储至DataTable类型中的存储代码;
采用所述存储代码和检测代码生成测试用例。
7.一种资源配置文件的检测装置,其特征在于,所述装置包括:
资源配置文件获取模块,用于获取指定路径下的资源配置文件,所述资源配置文件具有配置规则信息;
检测代码转换模块,用于将所述配置规则信息转换为所述资源配置文件的检测代码;
测试用例生成模块,用于采用所述检测代码生成测试用例;
运行结果获得模块,用于采用所述测试用例检测所述资源配置文件,获得运行结果。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
运行结果存储模块,用于将所述运行结果存储在日志中;
日志展示模块,用于展示所述日志。
9.根据权利要求7或8所述的装置,其特征在于,所述资源配置文件存储在SVN服务器上,所述资源配置文件获取模块包括:
自动运行脚本运行子模块,用于在指定时间运行预置的自动运行脚本;所述预置的自动运行脚本包括获取资源脚本;
位于自动运行脚本运行子模块的获取资源脚本调用子模块,用于调用所述获取资源脚本;
位于获取资源脚本调用子模块的资源配置文件获取子模块,用于从所述SVN服务器的指定路径下获取资源配置文件。
10.根据权利要求9所述的装置,其特征在于,所述预置的自动运行脚本还包括检测脚本,所述运行结果获得模块包括:
位于自动运行脚本模块的检测脚本调用子模块,用于调用所述检测脚本;
位于检测脚本调用子模块的测试用例运行子模块,用于运行所述测试用例;
位于测试用例运行子模块的资源配置文件读取子模块,用于将所述资源配置文件读取至内存中;
资源配置文件存储子模块,用于将所述资源配置文件以表格形式存储为DataTable类型;
一行表格数据读取子模块,用于依次从所述DataTable类型中读取一行表格数据;
检测代码判断子模块,用于依次判断所述一行表格数据中一列或多列的值是否满足所述检测代码;
满足判定子模块,用于在一行表格数据中一列或多列的值满足所述检测代码时,生成所述一列或多列的值检测正确的结果;
不满足判定子模块,用于在一行表格数据中一列或多列的值不满足所述检测代码时,生成所述一列或多列的值检测错误的结果;
未检测的表格数据判断子模块,用于判断所述DataTable类型中是否存在未检测的表格数据;
存在判定子模块,用于在所述DataTable类型中存在未检测的表格数据时,返回依次从所述DataTable类型中读取一行表格数据的子步骤;
不存在判定子模块,用于在所述DataTable类型中不存在未检测的表格数据时,完成所述资源配置文件的检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410499353.0A CN105446874B (zh) | 2014-09-25 | 2014-09-25 | 一种资源配置文件的检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410499353.0A CN105446874B (zh) | 2014-09-25 | 2014-09-25 | 一种资源配置文件的检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105446874A true CN105446874A (zh) | 2016-03-30 |
CN105446874B CN105446874B (zh) | 2019-03-15 |
Family
ID=55557103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410499353.0A Active CN105446874B (zh) | 2014-09-25 | 2014-09-25 | 一种资源配置文件的检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105446874B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808227A (zh) * | 2014-12-31 | 2016-07-27 | 北京畅游天下网络技术有限公司 | 一种美术资源文件检测方法和装置 |
CN107357717A (zh) * | 2017-06-07 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 检测配置错误的方法、装置及设备 |
CN107480525A (zh) * | 2017-09-05 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种RabbitMQ安全配置的自动化检测方法 |
CN108804133A (zh) * | 2018-06-12 | 2018-11-13 | 深圳华讯网络科技有限公司 | 虚拟资源的获取方法、系统、计算机设备和存储介质 |
CN109542774A (zh) * | 2018-11-02 | 2019-03-29 | 平安医疗健康管理股份有限公司 | 脚本编码格式批量检测方法、装置、终端及可读存储介质 |
WO2019134297A1 (zh) * | 2018-01-08 | 2019-07-11 | 平安科技(深圳)有限公司 | 配置对命名重复的检测方法、装置、存储介质和智能设备 |
CN110659204A (zh) * | 2019-08-20 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 一种代码检测方法、设备及介质 |
CN112131869A (zh) * | 2020-09-02 | 2020-12-25 | 苏州好玩友网络科技有限公司 | 基于多语言的文本检测方法及装置 |
CN112199093A (zh) * | 2020-10-15 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 资源检查方法、装置、设备及计算机可读存储介质 |
CN112306508A (zh) * | 2020-10-13 | 2021-02-02 | 武汉木仓科技股份有限公司 | 一种配置信息文件的更新方法、装置以及处理设备 |
CN112631894A (zh) * | 2020-12-02 | 2021-04-09 | 北京健康之家科技有限公司 | 代码检测方法、装置、存储介质及计算机设备 |
CN114374606A (zh) * | 2022-01-11 | 2022-04-19 | 中国工商银行股份有限公司 | 检测配置文件的方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521899A (zh) * | 2009-03-31 | 2009-09-02 | 大连海事大学 | 用于移动应用程序的机上测试系统和方法 |
CN102043714A (zh) * | 2010-12-10 | 2011-05-04 | 成电汽车电子产业园(昆山)有限公司 | 一种嵌入式软件自动测试系统 |
CN102566988A (zh) * | 2010-12-14 | 2012-07-11 | 苏州工业园区谱芯科技有限公司 | 基于用户使用流程有向图的测试用例自动生成方法及测试方法 |
CN103019936A (zh) * | 2012-12-06 | 2013-04-03 | 武汉华中数控股份有限公司 | 一种数控软件测试系统 |
CN104063312A (zh) * | 2013-03-22 | 2014-09-24 | 株式会社日立制作所 | 测试用例生成方法及测试用例生成装置 |
-
2014
- 2014-09-25 CN CN201410499353.0A patent/CN105446874B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521899A (zh) * | 2009-03-31 | 2009-09-02 | 大连海事大学 | 用于移动应用程序的机上测试系统和方法 |
CN102043714A (zh) * | 2010-12-10 | 2011-05-04 | 成电汽车电子产业园(昆山)有限公司 | 一种嵌入式软件自动测试系统 |
CN102566988A (zh) * | 2010-12-14 | 2012-07-11 | 苏州工业园区谱芯科技有限公司 | 基于用户使用流程有向图的测试用例自动生成方法及测试方法 |
CN103019936A (zh) * | 2012-12-06 | 2013-04-03 | 武汉华中数控股份有限公司 | 一种数控软件测试系统 |
CN104063312A (zh) * | 2013-03-22 | 2014-09-24 | 株式会社日立制作所 | 测试用例生成方法及测试用例生成装置 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808227A (zh) * | 2014-12-31 | 2016-07-27 | 北京畅游天下网络技术有限公司 | 一种美术资源文件检测方法和装置 |
CN107357717A (zh) * | 2017-06-07 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 检测配置错误的方法、装置及设备 |
CN107357717B (zh) * | 2017-06-07 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 检测配置错误的方法、装置及设备 |
CN107480525B (zh) * | 2017-09-05 | 2020-07-21 | 苏州浪潮智能科技有限公司 | 一种RabbitMQ安全配置的自动化检测方法 |
CN107480525A (zh) * | 2017-09-05 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种RabbitMQ安全配置的自动化检测方法 |
WO2019134297A1 (zh) * | 2018-01-08 | 2019-07-11 | 平安科技(深圳)有限公司 | 配置对命名重复的检测方法、装置、存储介质和智能设备 |
CN108804133A (zh) * | 2018-06-12 | 2018-11-13 | 深圳华讯网络科技有限公司 | 虚拟资源的获取方法、系统、计算机设备和存储介质 |
CN108804133B (zh) * | 2018-06-12 | 2022-04-08 | 深圳华讯网络科技有限公司 | 虚拟资源的获取方法、系统、计算机设备和存储介质 |
CN109542774A (zh) * | 2018-11-02 | 2019-03-29 | 平安医疗健康管理股份有限公司 | 脚本编码格式批量检测方法、装置、终端及可读存储介质 |
CN109542774B (zh) * | 2018-11-02 | 2023-10-17 | 深圳平安医疗健康科技服务有限公司 | 脚本编码格式批量检测方法、装置、终端及可读存储介质 |
CN110659204A (zh) * | 2019-08-20 | 2020-01-07 | 腾讯科技(深圳)有限公司 | 一种代码检测方法、设备及介质 |
CN112131869A (zh) * | 2020-09-02 | 2020-12-25 | 苏州好玩友网络科技有限公司 | 基于多语言的文本检测方法及装置 |
CN112306508A (zh) * | 2020-10-13 | 2021-02-02 | 武汉木仓科技股份有限公司 | 一种配置信息文件的更新方法、装置以及处理设备 |
CN112199093A (zh) * | 2020-10-15 | 2021-01-08 | 腾讯科技(深圳)有限公司 | 资源检查方法、装置、设备及计算机可读存储介质 |
CN112631894A (zh) * | 2020-12-02 | 2021-04-09 | 北京健康之家科技有限公司 | 代码检测方法、装置、存储介质及计算机设备 |
CN114374606A (zh) * | 2022-01-11 | 2022-04-19 | 中国工商银行股份有限公司 | 检测配置文件的方法、装置、电子设备及存储介质 |
CN114374606B (zh) * | 2022-01-11 | 2024-04-26 | 中国工商银行股份有限公司 | 检测配置文件的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105446874B (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105446874A (zh) | 一种资源配置文件的检测方法和装置 | |
JP6859449B2 (ja) | テストケースを利用してテストを遂行する方法および装置 | |
US9201646B2 (en) | Automatic code review and code reviewer recommendation | |
CN107122368B (zh) | 一种数据校验方法、装置及电子设备 | |
EP2960799A1 (en) | Defect localization in software integration tests | |
CN104035863B (zh) | 一种浏览器测试方法及装置 | |
CN111858371A (zh) | 软件测试方法、系统、存储介质及计算机设备 | |
CN104899141B (zh) | 一种面向网络应用系统的测试用例选择与扩充方法 | |
US10209984B2 (en) | Identifying a defect density | |
CN104239206B (zh) | 网页测试方法和装置 | |
US20100235809A1 (en) | System and method for managing a model-based design lifecycle | |
CN111966760B (zh) | 基于Hive数据仓库的测试数据生成方法及装置 | |
US20130054427A1 (en) | Explosions of bill-of-materials lists | |
US8589734B2 (en) | Verifying correctness of processor transactions | |
CN114116505A (zh) | 代码测试方法及装置 | |
CN104809053A (zh) | 一种针对控件样式的测试方法和装置 | |
CN110532458B (zh) | 一种查找方式的确定方法、确定装置、服务器及存储介质 | |
US11892935B2 (en) | Verification of control coupling and data coupling analysis in software code | |
CN116501415A (zh) | 命令执行方法及装置、电子设备、计算机可读存储介质 | |
US11681511B2 (en) | Systems and methods for building and deploying machine learning applications | |
CN113360402B (zh) | 一种测试方法、电子设备、芯片和存储介质 | |
CN109697141B (zh) | 用于可视化测试的方法及装置 | |
CN114968751A (zh) | 一种无代码开发平台的程序调试方法和程序调试装置 | |
CN113821437B (zh) | 一种页面测试方法、装置、设备及介质 | |
US11604629B1 (en) | Automatic workflow generation based on annotated code statements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |