我需要根据数据库表中的特定值来测试打包过程的输出。所以,我创建了一个测试:
- 将数据库值更新为 NULL
- 犯罪
- 执行打包过程返回一个值
- 将数据库值更新为“N”
- 犯罪
- 再次执行打包过程返回另一个值
似乎永远不会提交数据库值,因此打包过程总是返回相同的值。这是测试:
!path lib/*.jar
!|dbfit.OracleTest|
!|ConnectUsingFile|DBConnections/DBConnection.properties|
|set option|fixed length string parsing|true|
|Update|my_table|
|col_value=|col_name|
|NULL|val|
|Commit|
!|Execute Procedure|pckg.proc|
|birth_date_|gender_|first_name_|last_name_|?|
|NULL|F|Rita|Rita|>>ref_cur1|
|Update|my_table|
|col_value=|col_name|
|N|val|
|Commit|
!|Execute Procedure|pckg.proc|
|birth_date_|gender_|first_name_|last_name_|?|
|NULL|F|Rita|Rita|>>ref_cur2|
!2.4. Compare expected values and actual values
!|Query|<<ref_cur1|
|j_status|
|-32|
!|Query|<<ref_cur2|
|j_status|
|-39|
|Rollback|
问题是它总是根据测试开始前数据库列的值返回相同的状态。如果从一开始就为 NULL,那么两个返回值都是 -39,如果从一开始就是 'N',那么两个返回值都是 -32。
关于如何坚持更改的任何想法?