2022年3月25日のブックマーク (2件)

  • (自分の) JavaScript のユニットテストの書き方

    (社内用ドキュメントの公開版) テストのポリシー 前提として、ユニットテストを導入するコストを、限界まで低くすることを目指す。テストが根付いていない言語環境や文化では、放っておくとテストが書かれないまま実装が進行し、結果としてテスト不可能な巨大な雪だるまが完成する。こうなるとメンテコストが高いE2Eを大量に書かないといけなくなり、テストの実行時間が膨れ上がっていく。 そうなる前に、ユニットテストを書きやすい環境を維持し、ユニットテストとして問題を切り分けられるような環境を維持する。とにかく書きやすさを重視し、一つのユニットテストを書くオーバーヘッドを限界まで下げる。 最初の一つを早い段階で書く 自分の経験的には、ユニットとテストの最初の一つを書いたらあとは自然とその周辺で増えていく。サンプルがあったら人はコピペする。逆にいうと最初の一つを書かない限り一切書かれない。まず一つ用意するのが大事

    (自分の) JavaScript のユニットテストの書き方
    mumei-0
    mumei-0 2022/03/25
    “今回は vitest を使う。mocha, ava, jest と今まで使った中で一番体験がいい。 API が jest 互換なので、移行しやすい。”
  • 【 Next.js 12.1 + TypeScript 】next/jest と E2Eテスト の Cypress を共存させてミル貝。

    少しのことにも、先達はあらまほしき事なり。 (ちょっとしたことにも、先達はあってほしいものである。) ―― 兼好法師『徒然草』 第五十二段[1] この記事は何でしょうか? TypeScript 環境で Next.js 12.1 の ユニットテスト用の next/jest プラグインと E2E テスト の Cypress を共存させてみます。 Windows 11 の WSL 環境(Ubuntu 20.04 WSLg も使用)での設定に関しても触れます。 題材としては、以前、Zenn にも書きました、React チュートリアルの三目並べを Next.js + TypeScript + Recoil の構成で作り変えたものに Jest と Cypress を追加して動かします。 全体のコード(制作したもの) バージョン情報 Node.js 16.11.0 "next": "^12.1.0",

    【 Next.js 12.1 + TypeScript 】next/jest と E2Eテスト の Cypress を共存させてミル貝。
    mumei-0
    mumei-0 2022/03/25
    書きました。Next.js でユニットテストとE2Eテスト、両方やってみる回です。#zenn