0

次の手順をどのように単体テストしますか。

procedure some_prc as
begin
    select t.a, t.b, t.c, t.d, count(*) from t inner join t1 on t.f1 = t1.f2
    group t.a, t.b, t.c, t.d;
end;

クエリは sqlplus によって実行されます。

4

1 に答える 1

2

自動化された繰り返し可能な単体テストを実行するには、データを完全に制御できる環境が必要です。たとえば、自分の PC にデータベースをローカルにインストールするか、自分だけがアクセスできるサーバーに専用のデータベースまたはスキーマをインストールします。

そうして初めて、あなたがする必要があることをすることができます。

  1. プレテスト スクリプトを実行して、テストの初期条件、つまりテストが機能する正確なデータを設定します。
  2. プロシージャを実行します。
  3. 手順の実行後にスクリプトを実行してデータを検査し、期待どおりであることを確認します。

制御された環境であっても、SYSDATE の値はおそらく制御できないため、データに日付が含まれていると複雑になります。

SQL Developerには、これらのラインに沿ったユニット・テストのメカニズムが組み込まれています。また、調査できるツール呼び出しutPLSQLもあります。私は実際にそれらを使用していないので、どちらもお勧めできません。

于 2013-06-12T15:09:49.543 に答える