or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
PHPUnit の始め方について語りあう PHP TechCafe
PHPers NEWS
level=0 から始める PHPStan(Larastan) 導入ガイド
「一人じゃない」と思えるチームビルディングが鍵 PHPバージョンアップのために欠かせない“精神論”
こんなテーマの座談会を社内各サービスの代表者間でやってみたい。
PHP8.0のコードを7.1などの古いバージョンで動くようにトランスパイルするツール
先日Twitterで少し話題になっていました。まだ古いPHPを使い続けている現場では役立つかも?
【PHP8.2?】foreachで安全にリファレンスを使えるようになるかもしれない
個人的にはリファレンスは
滅べばいいのに扱いが難しいし、本当に必要な場面も少ないのでできれば避けたほうがいいと思っていますが、稀に必要になった場合の罠が軽減されるのは嬉しいです。駆け出しエンジニアの皆さんに知ってほしい脆弱性のこと。
体系的に学ぶ 安全なWebアプリケーションの作り方(通称:徳丸本)はWebアプリケーション開発者必読・必携だが、分厚いのでまずこういった記事から入るのも良いのでは
【PHP8.2?】動的プロパティが禁止されるかもしれない
カッチリ実装したい人にとっては嬉しい修正なのだが、既存システムに導入するのは極めて勇気が要りそう。PHP界隈でも意見が分かれていそう。
アプリケーションの状況に応じて、動的プロパティの許可/不許可を細かく制御できるのなら、ぜひ導入してほしい。
Docker Desktopが有料化へ
個人での利用は問題ないが、会社で使っている個人ツールはどうなんだろう
A look at what is coming to Laravel 9
やっぱり内部ではこういう動きしていたんだねっていう実装が垣間見れます。
10 Best PHP Development Tools
あまり使ったことが無いツールもありましたが、PhpStorm はやっぱり入っていました。
紹介記事
PHPUnit テストコードの書き方【入門】
テストとは
Unit テストとは
PHPUnit とは
PHPプログラムとして作成可能なユニットテスト
PHPUnit マニュアル
その他のPHP系のユニットテストツール
入門するにあたり押さえておきたい機能
最低限の機能(参考)
setUpメソッド
テストコードを実行する際に一番最初に実行されるメソッド。
テスト対象としているクラスのインスタンス化や各テストで利用する共通処理の初期化などに利用。
アサーション
値を比較、検査して想定通りの値になっているかを確認するためのメソッド。テストコードを記述する上で最も重要。
テストコードはこのアサーションメソッドを各テストメソッド内に記述していきテスト対象のクラスや共通処理が期待通りの動作になっているかを確認するイメージ。
assertSame
値の比較が可能なアサーションメソッド。(型の厳密なチェックも可能)
assertTrue
Trueが返されることを確認するアサーションメソッド。
assertSame
メソッドでも同様のケースが記述できるが、テスト結果がわかりやすくなるというメリットがあるその他の詳細情報
アサーションメソッドの詳細は以前の PHP TechCafe の show note を参照
PHPerのための「PHPUnit について語り合う」PHP TechCafe
データプロバイダ
テストメソッドへの引数をまとめて記載することができるメソッドを作成することができます。
データプロバイダに指定するメソッドには、アノテーション
@dataProvider
を指定し、配列や反復が可能な値を返すようにする必要があります。アノテーション
各テストメソッドに対するメタ情報。
アノテーション自体は PHPDoc にも利用することがあるが、PHPUnit では各テストメソッドの依存関係を定義することなどが可能。
@depends
アノテーションが付与されたテストメソッド側で依存しているテストメソッドの戻り値を引数として受け取れる。
記述方法は以下の通り。
以下は PHPUnit の公式マニュアルで紹介されているサンプルコード。
モック
テスト時に、実際のオブジェクトの動作をシュミレートしてくれる模造品オブジェクトのこと。
依存するオブジェクトが何らかの理由でテスト時に利用できないときに使用する。
たとえば、
サンプルコード:
https://phpunit.readthedocs.io/ja/latest/test-doubles.html#test-doubles-mock-objects
結果の確認方法
すべてOKの場合
NGがある場合
テストコード Test.php の
testRoll()
を以下のように書き換えた場合。サンプルコード
https://github.com/MasaKuuuu/dicegame
参考サイト
PHPUnit マニュアル