docs/guide-ja/test reviewed [ci skip]

This commit is contained in:
Nobuo Kihara
2015-02-24 22:46:13 +09:00
parent 26aed13290
commit 02a5624c9f
4 changed files with 26 additions and 25 deletions

View File

@ -80,7 +80,7 @@ echo Html::tag('div', 'Pwede na', $options);
$options = ['style' => ['width' => '100px', 'height' => '100px']]; $options = ['style' => ['width' => '100px', 'height' => '100px']];
// style="width: 100px; height: 200px; position: absolute;" となる // style="width: 100px; height: 200px; position: absolute;" となる
Html::addCssStyle($options, 'height: 200px; positon: absolute;'); Html::addCssStyle($options, 'height: 200px; position: absolute;');
// style="position: absolute;" となる // style="position: absolute;" となる
Html::removeCssStyle($options, ['width', 'height']); Html::removeCssStyle($options, ['width', 'height']);

View File

@ -5,7 +5,7 @@
Yii2 は [`Codeception`](https://github.com/Codeception/Codeception) テストフレームワークとの統合を公式にサポートしており、次のタイプのテストを作成することを可能にしています。 Yii2 は [`Codeception`](https://github.com/Codeception/Codeception) テストフレームワークとの統合を公式にサポートしており、次のタイプのテストを作成することを可能にしています。
- [ユニットテスト](test-unit.md) - 一つのコードユニットが期待通りに動くことを検証する。 - [単体テスト](test-unit.md) - 一かたまりのコードが期待通りに動くことを検証する。
- [機能テスト](test-functional.md) - ブラウザのエミュレーションによって、ユーザの視点からシナリオを検証する。 - [機能テスト](test-functional.md) - ブラウザのエミュレーションによって、ユーザの視点からシナリオを検証する。
- [承認テスト](test-acceptance.md) - ブラウザの中で、ユーザの視点からシナリオを検証する。 - [承認テスト](test-acceptance.md) - ブラウザの中で、ユーザの視点からシナリオを検証する。

View File

@ -3,10 +3,11 @@
テストはソフトウェア開発の重要な部分です。 テストはソフトウェア開発の重要な部分です。
気付いているか否かにかかわらず、私たちは継続的にテストをしています。 気付いているか否かにかかわらず、私たちは継続的にテストをしています。
例えば、PHP でクラスを書くとき、私たちはステップごとにデバッグしたり、または単純に echo 文や die 文を使ったりして、実装が最初の計画通りに動作することを確認します。 例えば、PHP でクラスを書くとき、私たちはステップごとにデバッグしたり、または単純に echo 文や die 文を使ったりして、実装が最初の計画通りに動作することを検証します。
ウェブアプリケーションの場合は、何らかのテストデータをフォームに入力して、ページがユーザと期待通りの相互作用をすることを確認します。 ウェブアプリケーションの場合は、何らかのテストデータをフォームに入力して、ページがユーザと期待通りの相互作用をすることを確認します。
テストを実行するプロセスを自動化して、何かを確認する必要があるときは、いつでも、それを代行してくれるコードを呼び出す必要があるだけにすることが出来ます。
結果が計画したものと合致することを確認するコードがテストと呼ばれ、それを作成して更に実行するプロセスがテスト自動化して知られています。 テストを実行するプロセス自動化して、何かを検証する必要があるときは、いつでも、それを代行してくれるコードを呼び出すだけでよいようにすることが出来ます。
結果が計画したものと合致することを検証するコードがテストと呼ばれ、それを作成して更に実行するプロセスがテスト自動化として知られています。
このテストの章の主題は、このテストの自動化です。 このテストの章の主題は、このテストの自動化です。
@ -14,7 +15,7 @@
---------------------- ----------------------
テスト駆動開発 (TDD) とビヘイビア駆動開発 (BDD) のソフトウェア開発手法においては、実際のコードを書く前に、コードの断片または全体の機能の振る舞いを一連のシナリオまたはテストとして記述します。 テスト駆動開発 (TDD) とビヘイビア駆動開発 (BDD) のソフトウェア開発手法においては、実際のコードを書く前に、コードの断片または全体の機能の振る舞いを一連のシナリオまたはテストとして記述します。
そして、その後で初めて、意図された振る舞いが達成されていることを確認するテストに合格する実装を作成します。 そして、その後で初めて、テストに合格するように実装を作成して、意図された振る舞いが達成されていることを検証します。
一つの機能を開発するプロセスは以下のようになります。 一つの機能を開発するプロセスは以下のようになります。
@ -47,7 +48,7 @@
------------------------------ ------------------------------
上記で説明したテストファーストの手法は長期間にわたる比較的複雑なプロジェクトには合理的なものですが、簡単なプロジェクトでは、やりすぎとなるおそれもあります。 上記で説明したテストファーストの手法は長期間にわたる比較的複雑なプロジェクトには合理的なものですが、簡単なプロジェクトでは、やりすぎとなるおそれもあります。
この手法が適切であることを示す兆候は、いくつかあります。 この手法が適切であることを示す指標がいくつかあります。
- プロジェクトは既に大きくて複雑である。 - プロジェクトは既に大きくて複雑である。
- プロジェクトの要求仕様が複雑になってきている。プロジェクトが継続的に大きくなっている。 - プロジェクトの要求仕様が複雑になってきている。プロジェクトが継続的に大きくなっている。
@ -56,17 +57,17 @@
既存の実装の振る舞いをカバーするテストを作成することは、何も悪いことではありません。 既存の実装の振る舞いをカバーするテストを作成することは、何も悪いことではありません。
- プロジェクトはレガシーなもので、段階的刷新が予定されている。 - プロジェクトはレガシーなものであるが、段階的刷新される予定である。
- 従事すべきプロジェクトを得たが、それにはテストがなかった。 - 従事すべきプロジェクトを得たが、それにはテストがなかった。
どんな形式の自動化テストもやりすぎになる、という場合もあり得ます どんな形式の自動化テストもやりすぎになる、という場合もあるでしょう
- プロジェクトは単純で、この先も、複雑になる心配はない。 - プロジェクトは単純で、この先も、複雑になる心配はない。
- これ以上かかわることはない一時的なプロジェクトである。 - これ以上かかわることはない一度限りのプロジェクトである。
このような場合であっても、時間に余裕があれば、テストを自動化することは良いことです。 ただ、このような場合であっても、時間に余裕があれば、テストを自動化することは良いことです。
---- ----
- Test Driven Development: By Example / Kent Beck. ISBN: 0321146530. - Test Driven Development: By Example / Kent Beck. ISBN: 0321146530.

View File

@ -1,26 +1,26 @@
ユニットテスト 単体テスト
============== ==========
> Note|注意: この節はまだ執筆中です。 > Note|注意: この節はまだ執筆中です。
ユニットテストは、一ユニットのコードが期待通りに動作することを検証するものです。 単体テストは、一かたまりのコードが期待通りに動作することを検証するものです。
オブジェクト指向プログラミングでは、最も基本的なコードのユニットはクラスです。 オブジェクト指向プログラミングでは、最も基本的なコードのかたまりはクラスです。
ユニットテストで主として必要となることは、従って、クラスの全てのインタフェイスメソッドが正しく動作することを検証することです。 単体テストで主として必要となることは、従って、クラスの全てのインタフェイスメソッドが正しく動作することを検証することです。
すなわち、さまざまな入力パラメータに対して、テストはメソッドが期待通りの結果を返すかどうかを検証します。 つまり、テストは、さまざまな入力パラメータに対してメソッドが期待通りの結果を返すかどうかを検証します。
ユニットテストは、通常は、テストされるクラスを書く人によって開発されます。 単体テストは、通常は、テストされるクラスを書く人によって開発されます。
Yii におけるユニットテストは、PHPUnit と Codeception (こちらはオプションです) の上に構築されます。 Yii における単体テストは、PHPUnit と Codeception (こちらはオプションです) の上に構築されます。
従って、それらのドキュメントを通読することが推奨されます。 従って、それらのドキュメントを通読することが推奨されます。
- [PHPUnit のドキュメントの第2章以降](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.html). - [PHPUnit のドキュメントの第2章以降](http://phpunit.de/manual/current/en/writing-tests-for-phpunit.html).
- [Codeception Unit Tests](http://codeception.com/docs/06-UnitTests). - [Codeception Unit Tests](http://codeception.com/docs/06-UnitTests).
アプリケーションテンプレートのユニットテストを走らせる アプリケーションテンプレートの単体テストを走らせる
------------------------------------------------------ --------------------------------------------------
`apps/advanced/tests/README.md` および `apps/basic/tests/README.md` で提供されている説明を参照してください。 `apps/advanced/tests/README.md` および `apps/basic/tests/README.md` で提供されている説明を参照してください。
フレームワークのユニットテスト フレームワークの単体テスト
------------------------------ --------------------------
Yii フレームワーク自体に対するユニットテストを走らせたい場合は、"[Yii2 の開発を始めよう](https://github.com/yiisoft/yii2/blob/master/docs/internals-ja/getting-started.md)" に従ってください。 Yii フレームワーク自体に対する単体テストを走らせたい場合は、"[Yii2 の開発を始めよう](https://github.com/yiisoft/yii2/blob/master/docs/internals-ja/getting-started.md)" の説明に従ってください。