图2示出了本发明一种资源配置文件的检测方法实施例的检测流程示意图;
[0079] 图3示出了本发明一种资源配置文件的检测装置实施例的结构框图。
【具体实施方式】
[0080] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本发明作进一步详细的说明。
[0081] 本发明实施例的核必构思之一在于,通过获取指定路径下的资源配置文件,采用 程序代码的方式实现配置规则信息,从而生成的测试用例,检测资源配置文件,可W自动验 证资源配置文件中每一列的值是否符合配置规则信息。
[0082] 参照图1,示出了本发明一种资源配置文件的检测方法实施例的步骤流程图,具体 可W包括如下步骤:
[0083] 步骤101,获取指定路径下的资源配置文件,所述资源配置文件具有配置规则信 息;
[0084] 在具体应用中,资源配置文件可W应用于游戏策划中,因此,资源配置文件可W是 游戏策划人员对游戏中的逻辑行为和引用资源的一种配置,可txt格式保存。
[0085]W下通过资源配置文件的两种示例,具体说明资源配置文件。
[0086] 例如,资源配置文件A.txt可W如下表1所示:
[0087]
[0088]
[0089]表1
[0090] 资源配置文件B.txt可W如下表2所示:
[0091]
[0092] 表 2
[0093] 资源配置文件中,每一列都具有配置规则信息,该配置规则信息可W是游戏策划 人员在编写资源配置文件时必须遵守的规则,W资源配置文件A.txt为例,Id列的配置规 则信息可W是Id列中各行的值唯一且递增,Srcid列的配置规则信息可W是Srcid列中各 行的值必须在资源配置文件B.txt中Id列定义,依次类推。
[0094] 当然,上述配置规则信息的配置方式只是作为示例,在实施本发明实施例时,可W 根据实际情况设置其他配置规则信息的配置方式,本发明实施例对此不加W限制。另外,除 了上述配置规则信息的配置方式外,本领域技术人员还可W根据实际需要采用其他配置规 则信息的配置方式,本发明实施例对此也不加W限制。
[0095] 在本发明实施例的一种优选示例中,所述资源配置文件存储在SVN服务器上,所 述步骤101具体可W包括W下子步骤:
[009引子步骤S110,在指定时间运行预置的自动运行脚本;所述预置的自动运行脚本包 括获取资源脚本;
[0097] 作为本发明具体应用的一种示例,可W通过定时或者手动触发的方式运行预置的 自动运行脚本,在本发明实施例中,自动运行脚本(RunTxtTest.cmd)可W被Windows操作 系统的计划任务定时调用,自动运行脚本可W包括获取资源脚本。
[009引 自动运行脚本的一种示例可W如下:
[0099]
[0100]
[0101] 子步骤S120,所述预置的自动运行脚本调用所述获取资源脚本;
[0102] 在具体实现中,获取资源脚本(GetLatestRes.cmd)的一种代码逻辑可W如下所 示:
[0103]
[0104] 自动运行脚本可W调用后续的脚本,例如获取资源脚本,执行相应操作。
[0105] 子步骤S130,所述获取资源脚本从所述SVN服务器的指定路径下获取资源配置文 件。
[0106] 在实际应用中,SVN服务器是Subversion的简称,是一个开放源代码的版本控制 系统,所有文件均可W通过该系统保存在服务器上,可W通过SVNupdate[path]命令获取 资源配置文件等。
[0107] 获取资源脚本可W调用SVN服务器提供的update命令获取指定路径下的资源配 直文件。
[0108] 需要说明的是,获取资源脚本还可W获取包括编译完成的运行程序、美术资源、策 划资源、引擎资源等,运行完策划资源配置文件的检测之后,还可W运行其他检测程序W检 测其他资源配置文件等,运行一次获取资源脚本,即可W获取所有其他检测程序需要检测 的其他资源配置文件。此外,获取资源脚本所获取的资源配置文件可W为更新时间与当前 时间最接近的资源配置文件。
[0109] 本发明通过在指定时间运行预置的自动运行脚本,可W很稳定的实现定时启动检 测脚本,并且,测试过程中用到的脚本,统一编写在自动运行脚本中,可W方便修改,方便统 一执行,从而可W减少检测配置文件时的人工操作,加快检测速度,缩短检测耗时,降低排 查资源配置文件错误的难度。
[0110] 步骤102,将所述配置规则信息转换为所述资源配置文件的检测代码;
[0111] 应用于本发明实施例中,配置规则信息可W转换为代码语言,即W程序的方式实 现配置规则信息,用W检测资源配置文件。
[0112] 例如;配置规则信息可W是某一列的数值递增且唯一,转换成代码语言即可W是 判断该列当前数值小于下一个数值并且不相等;
[0113] 配置规则信息可W是某一列的数值在其他文件中有定义,转换成代码语言即可W 是判断该列的所有数值,在指定的文件中是否存在。
[0114] 配置规则信息可W是某一列数值的取值范围在某一区间,转换成代码语言即可W 是该列所有的数值都大于区间最小值,小于区间最大值
[0115] 配置规则信息可W是某一列数值调用的资源文件存在,转换成代码语言即可W是 判断该列每一个数值代表的文件,是否在系统中存在,等等。
[0116] 当然,上述配置规则信息的转换方式只是作为示例,在实施本发明实施例时,可W 根据实际情况设置其他配置规则信息的转换方式,本发明实施例对此不加W限制。另外,除 了上述配置规则信息的转换方式外,本领域技术人员还可W根据实际需要采用其他配置规 则信息的转换方式,本发明实施例对此也不加W限制。
[0117] 步骤103,采用所述检测代码生成测试用例;
[0118] 在具体应用中,测试用例的执行可W通过NUnit驱动,所谓NUnit,是一个单元测 试框架,通过批处理的方式调用NUnit,WNUnit的控制台方式运行包含编译完成的测试用 例(TxtResTest.dll)。
[0119] 基于NUnit框架编译的测试用例可W使用C#语言编写,将转换完成的检测代码套 用于NUnit框架中,可W生成测试用例。
[0120] 在本发明实施例的一种优选示例中,所述步骤103具体可W包括W下子步骤:
[012。 子步骤S210,生成将所述资源配置文件W表格形式存储至化taT油le类型中的存 储代码;
[0122] 子步骤S220,采用所述存储代码和检测代码生成测试用例。
[0123] W检测资源配置文件A.txt中Id列为例,测试用例的一种检测逻辑可W如下所 示:
[0124]
[01巧]首先,可W生成将txt格式的资源配置文件w表格形式保存为化taT油le类型的 存储代码,例如;testDT=TXTOtility.GetTxtAsDT(txtfullP址t)。
[0126] 而后,可W生成依据配置规则信息转换而成的检测代码,例如:
[0127] [Test]
[0128]F*ublicvoidId值ataT油ledt)
[0129] {
[0130] stringheaderValue=;
[0131] foreach(DataRow化in化.Rows)
[0132] {
[0133] // 找出DataT油le中每一行DataRow的Id列
[0134]headerValue=dr["Id"].Value;
[0135]boolisCreate=调用判断id列值递增方法
[013引 Assert,hi1 (string,format("{0}列不符合递增规则",headerValue));
[0137]boolis化ique=调用判断Id列值唯一不重复方法
[013引 Assert,hi1 (string,format("{0}列发生重复",headerValue));
[0139]if(isCreate&&isUnique)
[0140]Assert.F*ass广化ss");
[0141] }
[0142] 最后,还可W做一些清理工作。
[0143] 需要说明的是,测试用例可W保存在本地,当编译检测代码生成该测试用例的dll 文件后,可W将dll文件存放在指定目录运行,当测试代码发生修改时,可W用修改后的 dll文件替换原先存放在指定目录的dll文件。
[0144] 步骤104,采用所述测试用例检测所述资源配置文件,获得运行结果。
[0145] 在具体实现中,运行编译完成的试用例检测资源配置文件,可W获得运行结果。
[0146] 在本发明实施例的一种优选示例中,所述预置的自动运行脚本还包括检测脚本, 所述步骤104具体可W包括W下子步骤:
[0147] 子步骤S301,所述预置的自动运行脚本调用所述检测脚本;
[0148] 在具体实现中,检测脚本(Run.cmd)可W包括在预置的自动运行脚本中,检测脚 本的一种代码逻辑可W如下所示:
[0149]
[0150] 其中,nunit-console.exe是NUnit测试框架的控制台运行方式。
[0151] 预置的自动运行脚本调用获取资源脚本后,可W调用检测脚本执行检测操作。
[0152] 子步骤S302,所述检测脚本运行所述测试用例;
[0153] 子步骤S303,所述测试用例将所述资源配置文件读取至内存中;
[0154] 子步骤S304,将所述资源配置文件W表格形式存储为化taT油le类型;
[0155] 子步骤S305,依次从所述化taT油le类型中读取一行表格数据;
[0156] 子步骤S306,依次判