4年ほど前に作ったAWS Lambdaプロジェクトがありました。 もろもろ更新しようとAWS SAMでプロジェクトを作り直したところ、テストライブラリとして Jest が入っていました。 移行する必要があるのか? と言われると、ないですけれど、 趣味なのでやってみます。 テストファイルの場所を移動する テスト対象ファイルとテストファイルを同一ディレクトリに置いていました。
![[JavaScript] JasmineからJestへの移行 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/af8260999ea638a6b93e38066c36c51149c16dc8/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JTVCSmF2YVNjcmlwdCU1RCUyMEphc21pbmUlRTMlODElOEIlRTMlODIlODlKZXN0JUUzJTgxJUI4JUUzJTgxJUFFJUU3JUE3JUJCJUU4JUExJThDJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0xYjYyNDE5N2Y0MGEyMDE5MTgyMDA1ZGNkNzdkMDJjMQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwc2VuZ29rdSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTMyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9YzA5YzA5NzMzZmI1MGI4Zjg4MDIwOTc0NGFmZGExZDc%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D003a3c2b517a7a3b526fb863e995f404)
もう駄目だ。ついに React 以外のプロジェクトでも Jest 一択になってしまった。 もともと自分の選択するテストツールは、むかしは jasmine、いまは mocha + chai(ときどき power-assert) をベースに周辺ツールと連携させていて、React を使うようになってしばらくして Jest を入れるようになった。ここ5年くらいのフロントエンド界隈では標準の一種だと思う。 それがどうしてこんなに Jest びいきになったのか。 その1. 楽 とにかく楽だからだ。 Jest の売りはオール・イン・ワンとゼロ・コンフィグというだけあって、構築がとりわけ楽。 1パッケージ入れるだけでざっと以下の機能が使えるようになる。 テストランナー(mocha, jasmine 1) アサーション(chai, jasmine) モック(sinon, testdouble) カバレッジ(
問題 jest + typescript で、eslintが以下のエラーを出力した。 'describe' is not defined. eslint(no-undef) typescriptだと @types/jest を入れろと言われるが、eslint ではそれだけではダメだった。 解決策 eslint-plugin-jest を入れる必要があった。 www.npmjs.com READMEにある通り、以下のようにeslintrc.jsに追記する。 module.exports = { env: { ... "jest/globals": true, }, ... plugins: [ ... "jest", ], ... 結果 'describe' is not defined. は言われなくなった。 参考 eslintrc.js を載せておく。 module.exports =
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く