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

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

新規登録して質問してみよう
ただいま回答率
85.46%
PHPUnit

PHPUnitは、PHP向けのユニット・テスト向けフレームワークで、手動では手間のかかるテスト作業を自動化し、繰り返し実行することが可能です。

ユニットテスト

ユニットテストは、システムのテスト手法の一つで、個々のモジュールを対象としたテストの事を指します。対象のモジュールが要求や性能を満たしているか確認する為に実行します。

Q&A

1回答

398閲覧

PHPUnitでテストをしたときに通知を送らない様にしたい

0matsuki

総合スコア3

PHPUnit

PHPUnitは、PHP向けのユニット・テスト向けフレームワークで、手動では手間のかかるテスト作業を自動化し、繰り返し実行することが可能です。

ユニットテスト

ユニットテストは、システムのテスト手法の一つで、個々のモジュールを対象としたテストの事を指します。対象のモジュールが要求や性能を満たしているか確認する為に実行します。

0グッド

0クリップ

投稿2021/09/18 06:00

編集2021/09/18 06:01

下記のような、処理に対してテストを書こうとしています。
この時、$dataがイレギュラーな時に、slackに通知を送っています。
下記のようなコードに対してテストを行う際に、slack通知が送られないようにテストを書きたいです。
下記のコードでテストコードが書ける場合はどのようにしたら書けるのか、また、書けないのであれば、下記のコードをどのように変えれば書くことができるのかについて教えていただきたいです。
よろしくお願いします。

public static function isValid($data) { // 確認処理 if (Valid) { return true; } else { // イレギュラーかの確認処理 if (irregular) { self::sendAlert($data); } return false; } } private static function sendAlert($data) { // slackのAPIに投げる }

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

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

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

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

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

guest

回答1

0

テストのためにテスト対象のコードの改変を候補にしてしまうとテストにならないのではと思うのですけど(そのためのコードを埋め込むのもあれですが)、引数にbooleanを1つ追加し、デフォルトtrueにしてテストの時だけfalseを渡すとかで回避はできるのでは。

あとは、環境変数で持つとかですね。

投稿2021/09/18 09:15

編集2021/09/18 09:16
m.ts10806

総合スコア80861

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

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

0matsuki

2021/09/20 03:34

回答ありがとうございます! やはり通知処理のほうで、テストなのかどうかを判定して送る送らないを制御する方がよさそうですね、、! 環境変数の方で本番かどうか判定できるのでその方向で行こうと思います。 ありがとうございます。
m.ts10806

2021/09/20 07:34

>環境変数の方で本番かどうか判定できるので なるほど。それは活用すべきですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問