所以我有一个查询:
select
c.STRING,
a.STRING,
b.STRING,
b.STRING3,
a.STRING2,
from TABLE_A a,
VIEW_B b,
TABLE_C c
where b.STRING2 = a.STRING2
and a.INT = #value#
and c.INT = a.INT
and c.STRING IN ('string1', 'string2')
VIEW_B 是视图,TABLE_A 和 TABLE_C 是普通表。我正在尝试对这个查询进行单元测试。我看到它的方式是,因为它是一个选择,我需要制作一些虚拟数据,将其插入到表中,然后运行上面的查询并确保它返回与我输入的相同的数据。但是,VIEW_B 是视图,并且无法插入。所以我需要从 VIEW_B 中获取一些真实数据及其在其他 2 个表中的相应数据。但是,到那时我只是运行相同的查询,而且我必须获取一个 a.INT。所以我的结论是,如果我有一个使用视图的查询,它就不能被完全测试。
这是真的?无论如何,测试此查询的最佳方法是什么?
请记住,这是一个工作项目,我无法更改表的架构或查询本身,我必须针对实际数据库运行测试。