2、utConfig包
该程序包包含了以下函数和功能。
- 返回当前配置的模式。utConfig.tester。
- 设置使用某个模式的配置。utConfig.settester。
- 查看某个模式的配置。utConfig.showconfig。
- 设置存储测试包源代码的目录。utConfig.setdir。
- 返回存储测试包源代码的目录。utConfig.dir。
- 设置默认的单元测试前缀。utConfig.setprefix。
- 返回默认的单元测试前缀。utConfig.prefix。
- 设置单元测试注册模式。utConfig.registertest。
- 返回单元测试注册模式。utConfig.registering。
- 设置自动编译标识。utConfig.autocompile。
- 返回自动编译标识。utConfig.autocompiling。
- 设置V2分隔符。utConfig.setdelimiter。
- 返回V2分隔符。utConfig.limiter。
- 关闭成功测试的结果显示。utConfig.showfailuresonly。
- 返回是否显示成功的测试结果。utConfig.showingfailuresonly。
- 设置默认的报告器。utConfig.setreporter。
- 返回默认的报告器。utConfig.getreporter。
- 设置文件输出目录。utConfig.setfiledir。
- 返回文件输出目录。utConfig.filedir。
- 设置输出文件名的用户前缀。utConfig.setuserprefix。
- 返回输出文件名的用户前缀。utConfig.userprefix。
- 设置输出文件名中是否包含被测试程序名称。utConfig.setincludeprogname。
- 返回输出文件名中是否包含被测试程序名称。utConfig.includeprogname。
- 设置输出文件名中日期部分的格式。utConfig.setdateformat。
- 返回输出文件名中日期部分的格式。utConfig.dateformat。
- 设置输出文件的文件扩展名。utConfig.setfileextension。
- 返回输出文件的文件扩展名。utConfig.fileextension。
- 设置以上所有的输出文件相关项。utConfig.setfileinfo。
- 返回以上所有的输出文件相关项。utConfig.fileinfo。
为了尽可能简化测试,utPLSQL在表ut_config中存储了各种配置数据。这些数据按照模式名进行存储,并且在第一次使用该工具时自动装载。同时在调用utPLSQL.test或者其他改变配置的程序时自动更新配置。
可以随时查看当前模式或者其他模式的配置。
通常维护的信息包括:
测试包目录。使用自动编译之前必须指定一个存储测试包源代码的目录。
单元测试前缀。默认的前缀为“ut_”。
单元测试注册模式。包括自动与手动两种方式。
测试包的自动编译。默认情况下在每次执行之前重编译测试包。
2.1、返回当前配置的模式
默认情况下,使用当前用户的配置。然而,也可以使用其他用户的配置。使用以下函数返回当前配置所属的模式:
2.2、设置使用某个模式的配置
如果没有指定用户,使用当前用户的模式。
2.3、查看某个模式的配置
使用以下过程查看指定模式的配置。
如果没有指定模式,返回当前使用的配置。以下是一个输出结果示例。 可以在SQL*Plus的登录文件中调用该过程,以便在登录时显示当前设置。2.4、设置存储测试包源代码的目录
如果要使用utPLSQL的自动编译,必须设置存储源代码的目录。既可以在定义测试套件与包时指定,也可以调用utConfig.setdir过程进行设置。
其中,dir_in是目录名;user_name是该目录设置所属的模式名,NULL表示使用当前模式。以下命令为非当前模式指定目录: 注意,该目录必须能够使用UTL_FILE进行访问。
2.5、返回存储测试包源代码的目录
调用utConfig.dir返回当前的目录设置。
2.6、设置默认的单元测试前缀
utPLSQL使用前缀关联被测试代码与测试包。前缀还允许utPLSQL自动识别测试包中的单元测试程序。
默认的前缀是“ut_”,但是可以在调用utPLSQL.test时覆盖该值,或者调用utConfig.setprefix过程。
其中,prefix_in是前缀,username_in是该前缀所属的模式名, NULL表示使用当前模式。 以下命令为非当前模式指定前缀。2.7、返回默认的单元测试前缀
可以调用utConfig.prefix获取当前的单元测试前缀。
2.8、设置与返回单元测试注册模式
从1.5.1版起,不再需要显式注册单元测试。utPLSQL默认会从数据字典(ALL_ARGUMENTS视图)中提取所有单元测试程序的名称,然后运行测试。utPLSQL通过指定前缀查找这些程序。
如果选择关闭测试程序的自动检测功能,只运行设置程序中列出的测试程序,可以调用以下程序。
注意:如果使用了自动检测,设置程序中的任何utPLSQL.addtest都将被忽略。使用以下函数返回当前的注册模式。
注册模式设置为手动时返回TRUE,否则返回FALSE。2.9、设置与返回自动编译标识
默认情况下,utPLSQL在每次单元测试之前重编译测试包。这样可以确保测试到最新的变更,还可以免去显式编译。自动编译需要满足以下条件:
- 当前模式必须被直接授予CREATE PROCEDURE或者CREATE ANY PROCEDURE权限;不能通过角色授予这些权限。
- 需要设置或者传入测试包源代码的目录。可以通过调用utConfig.setdir或者调用utPLSQL.test或utPLSQL.testsuite时指定dir_in参数。包规范必须包含在文件.pks中,包体必须包含在文件.pkb中。
- 必须配置实例的UTL_FILE包。
通常,并且是默认情况,应该运行重编译测试包。但是,以下情况可能需要避免重编译:
- 复制了一份临时修改后的包体,并且已经进行了编译。如果自动重编译,将会清除掉这些修改。
- 没有设置UTF_FILE,并且不打算使用。
- 在没有权限访问目录的服务器上运行测试,而不是通过数据库连接。
关闭自动编译
如果使用类似SQL*Navigator的工具,可能总是编辑数据库中存储的代码。这种情况下,不需要使用utPLSQL的重编译。可以采用两种方式避免自动重编译:指定utPLSQL.test或者utPLSQL.testsuite的recompile_in参数为FALSE,如下所示。
其次,如果从不使用重编译,可以在模式级别上设置默认行为。以上程序会更新ut_config表的信息并提交设置。
可以调用以下函数确定当前的自动编译设置:
注意:如果在模式级别 设置重编译为FALSE,将会覆盖utPLSQL.test和utPLSQL.testsuite中的值。2.10、V2分隔符
使用以下过程设置用于V2程序名的分隔符:
使用以下函数返回当前分隔符:2.11、关闭成功测试的结果显示
默认显示所有的测试结果,包括成功与失败的测试结果。以下过程可以限制只显示失败的测试:
以下函数返回当前的设置:2.12、设置与返回默认的报告器
默认所有的结果通过DBMS_OUTPUT发送到屏幕上。但是也可以使用其他的输出报告器,更多细节参考utPLSQL用户指南九。以下过程可以设置默认的输出报告器:
同样,使用以下函数返回当前设置:
其他的函数和过程与输出文件 相关,参考utPLSQL用户指南十 。来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24945919/viewspace-744228/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24945919/viewspace-744228/