質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PL/SQL

PL/SQL (Procedural Language/Structured Query Language) はOracle CorporationによるSQL(非手続き型言語)を手続き型言語に拡張させるために開発されたプログラミング言語です。

Q&A

1回答

1158閲覧

メイン処理から呼び出されるメソッドの単体テスト方法について

ametyan

総合スコア43

PL/SQL

PL/SQL (Procedural Language/Structured Query Language) はOracle CorporationによるSQL(非手続き型言語)を手続き型言語に拡張させるために開発されたプログラミング言語です。

0グッド

0クリップ

投稿2018/07/22 07:53

編集2022/01/12 10:55

例としてPL/SQLのコードで説明します。
下記のようなコードを単体テストする場合に①の部分で
・iが50で割り切れる時にHOGE1~4が呼び出されている
・iが50で割り切れる時に「PROC_TESTを実行しました」が出力される
ことがテストできれば②の部分では
・iが30で割り切れる時に「PROC_TESTを実行しました」が出力される
のみテストすればいいのでしょうか?

それとも
・iが30で割り切れる時にHOGE1~4が呼び出されている
というテストも必要なのでしょうか?

set serveroutput on DECLARE i NUMBER := 0; PROCEDURE PROC_TEST(i_cnt IN NUMBER) IS BEGIN HOGE1(); HOGE2(); HOGE3(); HOGE4(); DBMS_OUTPUT.PUT_LINE('PROC_TESTを実行しました'); COMMIT; END; BEGIN FOR i IN 1..100 LOOP IF MOD(i, 50) = 0 THEN PROC_TEST(i); --・・・① ELSIF MOD(i, 30) = 0 THEN PROC_TEST(i); --・・・② END IF; END LOOP; END; /

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/07/22 09:28

タグに「ドキュメント」とはありますが、タイトルと質問内容が一致していません。ひとまずコードも提示されているし質問本文に出ている「PL/SQL」をタグに追加されてはいかがでしょうか。
guest

回答1

0

表示するメッセージを役に立つ情報を加えると使い勝手が良くなるのでは?

PL/SQL

1 DBMS_OUTPUT.PUT_LINE('PROC_TESTを実行しました'); 23 DBMS_OUTPUT.PUT_LINE('PROC_TESTを実行しました。count:' || TO_CHAR(i_cnt));

HOGE1~HOGE4 の内容がわからないのでCOMMITの位置が今のままでいいのか、って疑問もあります。最後に1回COMMITすれば良いのかも?

投稿2018/07/22 20:42

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問