使用TSQL我习惯于为我的存储过程进行一些可重复的测试。通常,这可能包括将db置于特定状态,运行sproc,验证状态并回滚。人为的例子可能是这样的"
BEGIN TRAN
--input for test case
DECLARE @TestName VARCHAR(10) = 'bob'
--insert test row
INSERT INTO tbl (data) values (@TestName)
--display initial state of target row
SELECT * FROM tbl WHERE data = @TestName
--do some useful test
EXEC MyProc
--display the final state of the target row
SELECT * FROM tbl WHERE data = @TestName
--put the db back where it started
ROLLBACK TRAN
现在我正在使用Oracle和PL / SQL,我尝试使用一些类似的模式来测试我的工作,而不是发现它对我来说很明显。我相信我可以通过几种不同的方式来实现它,但却没有任何实际工作。理想情况下,我会有一个脚本,我可以在其中运行多个测试用例并检查结果。
我正在尝试在PL / SQL Developer中工作并理解它可能与它在Oracle SQL Developer或其他地方的工作方式有所不同。
答案 0 :(得分:1)
在Oracle中,使用SQL*Plus
等工具和SQL Developer
等GUI工具,您有很多选择:
PL/SQL
的过程方法,请编写匿名plsql块并将其作为脚本执行。Execute as script
或Test Window
这样的选项来单独执行脚本或嵌入匿名块。DBMS_SCHEDULER
也可以完成相同的任务。由于您对PL/SQL Developer
的{{1}}工具产品感兴趣,因此您只需使用Allround Automations
来测试单个对象即可。
我在博客中记录了test window
工具的一些有用功能,请阅读http://lalitkumarb.wordpress.com/2014/08/14/plsql-developer-settings/