First published on June 2, 2021, updated on September 1, 2023 In the 2000s, when I was a teenager building web apps and browser games, I built most things from scratch with PHP and JavaScript. One reason was that I didn’t want to use any framework or library I didn’t understand, and the other reason was that things I didn’t understand felt like magic. I have since resigned to the fact that I canno
課題link お手伝いしているシステムでNestJSを採用しているバックエンドのテストが遅いという課題があったので対処した。 前提link フレームワークDBテストランナーその他 テストの総数は700弱。 最終結果link 最終的には2段階の改修を経てローカルのテストが3倍速程度高速化した。 # before Test Suites: 145 passed, 145 total Tests: 2 skipped, 681 passed, 683 total Snapshots: 0 total Time: 925.063 s Ran all test suites. Done in 926.48s. # ts-jestを@swc/jestに置き換えた Test Suites: 145 passed, 145 total Tests: 2 skipped, 681 passed, 683 t
README.md Setting up Jest with ESM Here are some different ways on how to set up Jest to support ESM. This applies for Jest v25, Node v13, and Babel v7. Method A: Native Node.js support Node v14 and Jest v26 support ESM natively with the --experimental-vm-modules flag. Install cross-env: yarn add --dev cross-env Add NODE_OPTIONS to the scripts.test in package.json: "scripts": { "test": "cross-env
Photo by Marcus Löfvenberg on UnsplashVersion 28 of jest will introduce a new --shard flag that will allow for a test suite to be split into arbitrary chunks. Let’s take a look at how we can leverage this in an existing CI workflow — I’ll be using GitHub actions. Matrix build with shardsLet’s say our yarn test script simply executes jest and our workflow is structured as so: name: Shard Demo on: [
Meta Open Source is transferring Jest to the OpenJS Foundation Meta Open Source is officially transferring Jest, its open source JavaScript testing framework, to the OpenJS Foundation. With over 17 million weekly downloads and over 38,000 GitHub stars, Jest is the most used testing framework in the JavaScript ecosystem and is used by companies of all sizes, including Amazon, Google, Microsoft, and
Upgrading Jest from v27 to v28? This guide aims to help refactoring your configuration and tests. CompatibilityThe supported Node versions are 12.13, 14.15, 16.10 and above. If you plan to use type definitions of Jest (or any of its packages), make sure to install TypeScript version 4.3 or above. Configuration OptionsextraGlobalsThe extraGlobals option was renamed to sandboxInjectedGlobals:
はじめに JavaScriptのモックライブラリでは、 sinon などが有名であるが、テスティングフレームワークに Jest を使ってるならば Jest組み込みのモックライブラリで済ませたほうが学習コスト少なくて済むだろうと思える。 しかし、 sinon の感覚でJestのモックライブラリを使おうとすると違和感というのか、モックへの考え方の違いに気づかされる。 ということで今回は、Jestのモックライブラリの考え方と使い方を整理していきたいと思う。 モックの用語整理とJestモックライブラリの位置づけ モックと一言でいっても、それが指す内容は微妙に異なる。 ここでは、モックを 広義のMock Object と 狭義のMock Object と分けて整理してくれているテスト駆動開発を参考に用語を整理する。 テスト駆動開発では、モック用語を、下図のとおり、テストダブルとそのサブクラスとして
JavaScriptには、以下のような時間に関する関数が用意されています。 setTimeout setInterval clearTimeout clearInterval 例えば、setTimeoutは第1引数で渡したコールバック関数を第2引数で渡したミリ秒後に実行します。 標準で用意されている非常に便利な関数群ですが、ユニットテストを記述するときには少々困りものです。setTimeoutのコールバック関数に渡した処理が正しく呼び出されているかどうか調べたいようない場合には、setTimeoutのコールバックが呼び出されるまで待機する処理を挟む必要があります。 setTimeoutに渡したミリ秒の値が大きい場合はタイムアウトを起こす可能性がありますし、何よりテストのたびに長時間待つには耐えられません。 以上の問題を解決するために、Jestにはタイマー関数をモックする便利な機能が備わって
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く