だから私はクエリを持っています:
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 を取得する必要があります。したがって、ビューを使用するクエリがある場合、完全にテストすることはできないというのが私の結論です。
これは本当ですか?とにかく、このクエリをテストする最良の方法は何ですか?
これは作業プロジェクトであり、テーブルのスキーマやクエリ自体を変更することはできず、実際のデータベースに対してテストを実行する必要があることに注意してください。