【发布时间】:2015-03-25 18:06:27
【问题描述】:
假设我们有一个 oracle 包,它使用从包含全局参数的表中获取的一些值进行初始化。尽管这是一种丑陋的做法,但它可以在生产中工作,因为参数是在安装期间设置的,不太可能经常更改。但是当一个人在测试包时,需要在每个案例之前重新初始化它的状态。
我尝试了两种方法:
- 立即执行“ALTER PACKAGE my_package COMPILE”;
- dbms_session.reset_package;
第一个在极少数情况下不起作用(我不知道为什么)。
第二个重置当前会话涉及的所有包,包括一个包含测试用例的包,因此任何 reset_package 调用都会导致测试中止执行。
当需要在测试执行期间更改状态时,我需要什么才能正确测试具有内部状态的包?
【问题讨论】:
标签: oracle unit-testing testing oracle11g