SlideShare ist ein Scribd-Unternehmen logo
1 von 8
PHPUnit 4.0で追加された
willReturn*()の紹介
PHPUnitではwill()を多用する
$stub = $this->getMockBuilder('FooClass')
->getMock();
$stub->method('barMethod')
->will($this->returnValue('BAR'));
$stub->method('bazMethod')
->will($this->returnArgument(0));
$stub->method('quxMethod')
->will(
$this->throwException(new Exception)
);
長い
そこでwillReturn*()
$stub = $this->getMockBuilder('FooClass')
->getMock();
$stub->method('barMethod')
->willReturn('BAR');
$stub->method('bazMethod')
->willReturnArgument(0));
$stub->method('quxMethod')
->willThrowException(new Exception);
$stub = $this->getMockBuilder('FooClass')
->getMock();
$stub->method('barMethod')
->will($this->returnValue('BAR'));
$stub->method('bazMethod')
->will($this->returnArgument(0));
$stub->method('quxMethod')
->will(
$this->throwException(new Exception)
);
ね、短くなったでしょう?

Weitere ähnliche Inhalte

Was ist angesagt?

initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
Takashi Takizawa
 
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)
Tomoaki Uchida
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
yoshiaki iwanaga
 

Was ist angesagt? (20)

並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ並列クエリを実行するPostgreSQLのアーキテクチャ
並列クエリを実行するPostgreSQLのアーキテクチャ
 
ストリームデータ分散処理基盤Storm
ストリームデータ分散処理基盤Stormストリームデータ分散処理基盤Storm
ストリームデータ分散処理基盤Storm
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門OpenStackで始めるクラウド環境構築入門
OpenStackで始めるクラウド環境構築入門
 
AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門AnsibleによるInfrastructure as code入門
AnsibleによるInfrastructure as code入門
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
 
Ruby での外部コマンドの実行について
Ruby での外部コマンドの実行についてRuby での外部コマンドの実行について
Ruby での外部コマンドの実行について
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
Kubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったことKubernetesのワーカーノードを自動修復するために必要だったこと
Kubernetesのワーカーノードを自動修復するために必要だったこと
 
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
 
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
 
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
 
Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~Dockerのディスクについて ~ファイルシステム・マウント方法など~
Dockerのディスクについて ~ファイルシステム・マウント方法など~
 
SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)SQLアンチパターン(インデックスショットガン)
SQLアンチパターン(インデックスショットガン)
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
 
新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP新標準PSRに学ぶきれいなPHP
新標準PSRに学ぶきれいなPHP
 
thymeleafさいしょの一歩
thymeleafさいしょの一歩thymeleafさいしょの一歩
thymeleafさいしょの一歩
 
第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」第三回ありえる社内勉強会 「いわががのLombok」
第三回ありえる社内勉強会 「いわががのLombok」
 

Mehr von Takaaki Hirano

プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介
Takaaki Hirano
 
金曜だけどデザインパターンでも勉強しよう
金曜だけどデザインパターンでも勉強しよう金曜だけどデザインパターンでも勉強しよう
金曜だけどデザインパターンでも勉強しよう
Takaaki Hirano
 
非同期データ更新のためにメッセージキューを導入した(い)話
非同期データ更新のためにメッセージキューを導入した(い)話非同期データ更新のためにメッセージキューを導入した(い)話
非同期データ更新のためにメッセージキューを導入した(い)話
Takaaki Hirano
 
月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 Builder月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 Builder
Takaaki Hirano
 
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory
Takaaki Hirano
 
月曜だからデザインパターンでも勉強しよう vol.2 Flyweight
月曜だからデザインパターンでも勉強しよう vol.2 Flyweight月曜だからデザインパターンでも勉強しよう vol.2 Flyweight
月曜だからデザインパターンでも勉強しよう vol.2 Flyweight
Takaaki Hirano
 
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton
Takaaki Hirano
 
Mysql(クライアント)の出力が変わるオプション達
Mysql(クライアント)の出力が変わるオプション達Mysql(クライアント)の出力が変わるオプション達
Mysql(クライアント)の出力が変わるオプション達
Takaaki Hirano
 
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み
Takaaki Hirano
 
書こう!正規表現 vol.2 文字クラス(例外)
書こう!正規表現 vol.2 文字クラス(例外)書こう!正規表現 vol.2 文字クラス(例外)
書こう!正規表現 vol.2 文字クラス(例外)
Takaaki Hirano
 
書こう!正規表現 vol.2 文字クラス(基本)
書こう!正規表現 vol.2 文字クラス(基本)書こう!正規表現 vol.2 文字クラス(基本)
書こう!正規表現 vol.2 文字クラス(基本)
Takaaki Hirano
 
書こう!正規表現 vol.1 正規表現 is 何
書こう!正規表現 vol.1 正規表現 is 何書こう!正規表現 vol.1 正規表現 is 何
書こう!正規表現 vol.1 正規表現 is 何
Takaaki Hirano
 

Mehr von Takaaki Hirano (20)

プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介プログラミング言語のマスコットとか紹介
プログラミング言語のマスコットとか紹介
 
金曜だけどデザインパターンでも勉強しよう
金曜だけどデザインパターンでも勉強しよう金曜だけどデザインパターンでも勉強しよう
金曜だけどデザインパターンでも勉強しよう
 
PHP array_uintersectに潜む罠
PHP array_uintersectに潜む罠PHP array_uintersectに潜む罠
PHP array_uintersectに潜む罠
 
非同期データ更新のためにメッセージキューを導入した(い)話
非同期データ更新のためにメッセージキューを導入した(い)話非同期データ更新のためにメッセージキューを導入した(い)話
非同期データ更新のためにメッセージキューを導入した(い)話
 
月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 Builder月曜だからデザインパターンでも勉強しよう vol.4 Builder
月曜だからデザインパターンでも勉強しよう vol.4 Builder
 
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory
月曜だからデザインパターンでも勉強しよう vol.3 Factory Method & Abstract Factory
 
月曜だからデザインパターンでも勉強しよう vol.2 Flyweight
月曜だからデザインパターンでも勉強しよう vol.2 Flyweight月曜だからデザインパターンでも勉強しよう vol.2 Flyweight
月曜だからデザインパターンでも勉強しよう vol.2 Flyweight
 
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton
月曜だからデザインパターンでも勉強しよう vol.1 それは何 & Singleton
 
Mysql(クライアント)の出力が変わるオプション達
Mysql(クライアント)の出力が変わるオプション達Mysql(クライアント)の出力が変わるオプション達
Mysql(クライアント)の出力が変わるオプション達
 
curl_multi_exec()でFire-and-forgetに失敗した話
curl_multi_exec()でFire-and-forgetに失敗した話curl_multi_exec()でFire-and-forgetに失敗した話
curl_multi_exec()でFire-and-forgetに失敗した話
 
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み
書こう!正規表現 vol.4 肯定/否定 先読み/戻り読み
 
書こう!正規表現 vol.3 ()
書こう!正規表現 vol.3 ()書こう!正規表現 vol.3 ()
書こう!正規表現 vol.3 ()
 
sedで複数行処理 使ってみようNを
sedで複数行処理 使ってみようNをsedで複数行処理 使ってみようNを
sedで複数行処理 使ってみようNを
 
ctagsでvimにひきこもる
ctagsでvimにひきこもるctagsでvimにひきこもる
ctagsでvimにひきこもる
 
書こう!正規表現 vol.2 文字クラス(例外)
書こう!正規表現 vol.2 文字クラス(例外)書こう!正規表現 vol.2 文字クラス(例外)
書こう!正規表現 vol.2 文字クラス(例外)
 
書こう!正規表現 vol.2 文字クラス(基本)
書こう!正規表現 vol.2 文字クラス(基本)書こう!正規表現 vol.2 文字クラス(基本)
書こう!正規表現 vol.2 文字クラス(基本)
 
書こう!ユニットテスト vol.2 どうやって?
書こう!ユニットテスト vol.2 どうやって?書こう!ユニットテスト vol.2 どうやって?
書こう!ユニットテスト vol.2 どうやって?
 
書こう!正規表現 vol.1 正規表現 is 何
書こう!正規表現 vol.1 正規表現 is 何書こう!正規表現 vol.1 正規表現 is 何
書こう!正規表現 vol.1 正規表現 is 何
 
書こう!ユニットテスト vol.1 ナンデ?
書こう!ユニットテスト vol.1 ナンデ?書こう!ユニットテスト vol.1 ナンデ?
書こう!ユニットテスト vol.1 ナンデ?
 
PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠
 

Kürzlich hochgeladen

Kürzlich hochgeladen (7)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。