2024年7月16日(火)
今朝は6:00起床。
3連休ボケ明けの初日としては早く起きられた方か。
冷水シャワー
冷水シャワーを始めて34週間。
この1週間で体調の悪かった日はゼロ日というこで、累計の体調の悪い日は238日中の0日となった。
実は一番健康に寄与しているのは在宅勤務なのではないかと思わないことも無い。
リアルに人と接する機会が少ないので必然的に風邪をうつされたりといったことが少ないのではないかと思う。
朝活
今日は朝から雨が降っていたので自転車はお休み。
冷水シャワーを浴びてコーヒーを淹れる。
今日のコーヒーは宮の森珈琲のドリップコーヒー。
ドリッパーの形状が高級ドリップコーヒーのそれである。
今日もReactアンチパターンの洋書を読む。
Jest
- test関数は2つの引数を取る
- 1番目はテストに関する記述、2つ目はテストを実行するコールバック関数
- test関数はit関数に置き換えることが可能で、機能は同じ
- test関数が一般的で、他のテストライブラリーに慣れている場合でも違和感がない
- it関数はbehavior-diriven development(BDD)のスタイルが基になっている(JasmineやMochaなど)
- describeでテストをグループ化できる
React Testing Library
- 全てのテストをJestで書こうとすると長大で冗長なものになってしまう
- React Testing LibraryはReactコンポーネントと共に動作する
- React Testing Libraryの目的は実装の詳細をテストすることではなく、アプリケーションの振る舞いをテストする
Integration tests
- 複数のコンポーネントの相互作用をテストする
- クライアントサイドとサーバーサイドの相互作用をテストする
- 具体的な内容
- 利用規約に同意する画面のテストケース
- 最初は同意ボタンは非活性であることを確認
- expect(button).toBeDisabled();
- チェックボックスにチェックを入れるとボタンは活性化
- act(() => { userEvent.click(checkbox); })
- ボタンが活性状態であることを確認
- expect(button).toBeEnabled();
- チェックボックスやボタンのクリックイベントはjsdom環境内で動作する
- jsdomとはJavaScriptベースのユーザーインターフェースを持たないブラウザ環境を提供する
- jsdomはNode.js環境で動作しており仮想DOMを提供するため、実際のブラウザを開かずにテストが可能
E2E tests
- 主要なテストツールとしてCypressが挙げられる
- Cypressは実際のブラウザを操作してテストする
- サーバーレスポンスのダミーを作ることができる
- cy.intercept(“method”, “API endpoint”, { statusCode: 200, body: { key: value } });
1時間半程お勉強して朝活終了。
昼食
15分程お昼寝をしてから昼食を取る。
今日は良く寝られた。
- 味噌汁
- ゆきちからの全粒粉入りパン
- 大粒納豆
木のひげのパンを焼いてみたら香ばしさが復活して美味しかった。
夕食
- 糠漬け、なめろう、小肌
- ゆで卵
- 鰆(さわら)の塩焼き
- 小松菜ともやしのごま和え
- 味噌汁
- 雑穀ごはん
鰆の塩焼きが美味しかった!
明日は早起きできるだろうか。
コメント