並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 405件

新着順 人気順

Jestの検索結果1 - 40 件 / 405件

  • Relicensing React, Jest, Flow, and Immutable.js

    Next week, we are going to relicense our open source projects React, Jest, Flow, and Immutable.js under the MIT license. We’re relicensing these projects because React is the foundation of a broad ecosystem of open source software for the web, and we don’t want to hold back forward progress for nontechnical reasons. This decision comes after several weeks of disappointment and uncertainty for our

      Relicensing React, Jest, Flow, and Immutable.js
    • State of JavaScript 2020:いちばん利用率の高いJSフレームワーク、フロントエンドがReact、バックエンドはExpress、テストにはJest。2万4000人の調査結果

      IT技術者のSacha Greif氏とRaphaël Benitte氏が、JavaScriptに興味を持つ世界中のIT技術者約2万4000人にアンケートを取り、結果をまとめたWebサイト「State of JavaScript 2020」が公開されています。 JavaScriptの最新のシンタックスや命令がどれくらい使われているか、フロントエンドやバックエンド、ビルドツールなど分野ごとにさまざまなJavaScript関連の技術はどれくらい興味を持たれているかなど、アンケート結果を基にして、満足度(Satisfaction)、興味(Interest)、利用率(Usage)、認知度(Awareness)などを計算。それぞれについてランキングを作成しています。 それぞれの値は次の式で計算されると説明されています。それぞれの項目にはアンケートの回答数が入ります。 満足度=またこの技術を使いたい/(

        State of JavaScript 2020:いちばん利用率の高いJSフレームワーク、フロントエンドがReact、バックエンドはExpress、テストにはJest。2万4000人の調査結果
      • Jest · 🃏 Delightful JavaScript Testing ドキュメント

        スナップショット機能で大きなオブジェクトを容易に追跡できるテストを作成できます。スナップショットはテストと一緒に、あるいはインラインに埋め込んだ状態で表示できます。

          Jest · 🃏 Delightful JavaScript Testing ドキュメント
        • JestでTypeScriptを高速化する | miyauci.me

          JestでTypeScriptを高速化するJestでテストの高速化させる方法を紹介します。トランスフォーマーとしてesbuildやswcを紹介し、TypeScriptで遅くなりがちなトランスパイルを高速化させることで、テストを自体を高速化します。 はじめにesbuild の登場により、フロントエンドの世界は、開発環境により速度を求めるようになりました。vite の隆盛はその最たるものといってもいいでしょう。 esbuild や swc は高速な Go や Rust によって書かれ、更に多くの場合、Typescript の型チェックを省略しています。 tsc の型チェックは、大抵 IDE やワークフローで行われているので、これらを削ぎ落とすことで、純粋なコンパイラとして JavaScript への変換に特化しているということですね。 さて、Typescript コードをテストする際、多くの場

            JestでTypeScriptを高速化する | miyauci.me
          • jestでDBありのテストを高速化する

            課題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

              jestでDBありのテストを高速化する
            • 「State of JavaScript 2022」公開。利用率1位のフロントエンドライブラリはReact、レンダリングはNext.js、テストはJestなど、4万人のエンジニアが回答

              JavaScriptに興味を持つ世界中のIT技術者3万9472人が回答したアンケートの結果をまとめた「State of JavaScript 2022」が公開されました(日本語訳版が同時公開されています)。 回答者の国別分布を上位5位までを見ると米国が11.9%、ドイツが5.2%、フランスが3.7%、イギリス(UK)が3.6%、そしてインドが3.2%。 言語別の回答者は、英語が69.6%、フランス語が3.4%、ドイツ語が3.1%、スペイン語が3%などとなっており、日本語での回答者は0.4%でした。 アンケートの結果は、ProxyやPromiseなどに関するJavaScriptの新機能がどのくらい使われているか、Service WorkerやWebGLなど新しいブラウザAPIがどのくらい使われているかや、人気のJavaScriptライブラリ、JavaScriptは正しい方向に進化していると思

                「State of JavaScript 2022」公開。利用率1位のフロントエンドライブラリはReact、レンダリングはNext.js、テストはJestなど、4万人のエンジニアが回答
              • Jest

                Jest is a delightful JavaScript Testing Framework with a focus on simplicity.

                  Jest
                • JestのTips集10選。サーバーサイドでNode.jsのJestを書いたことない人向け

                  対象 業務レベルでサーバーサイドでJestを書いたことはないけれど、新プロジェクトでは書くことになったみたいな方を想定して記述しています。 Jestについては中々ベストプラクティスが集まりにくいので、経験的にこう書くと「きれいに」・「早く」・「正確に」書けるよというTipsを集めてみました。もし、よろしければお読みください。 前提 TypeScript Node.js Jest DBアクセスありの状態を想定しています 1. it文内では、必ず1回は、expectをつかって検証をする JestのPRをレビューしてるとたまに見受けるのですが、expectを使ってないケースがあります。 // NG it('userを正常に、作成できること', async() => { await createUser({ name: 'Mike' }); }); // OK it('pdfが正常に削除できること

                    JestのTips集10選。サーバーサイドでNode.jsのJestを書いたことない人向け
                  • なぜJestのmockライブラリに混乱してしまうのか? - Qiita

                    はじめに JavaScriptのモックライブラリでは、 sinon などが有名であるが、テスティングフレームワークに Jest を使ってるならば Jest組み込みのモックライブラリで済ませたほうが学習コスト少なくて済むだろうと思える。 しかし、 sinon の感覚でJestのモックライブラリを使おうとすると違和感というのか、モックへの考え方の違いに気づかされる。 ということで今回は、Jestのモックライブラリの考え方と使い方を整理していきたいと思う。 モックの用語整理とJestモックライブラリの位置づけ モックと一言でいっても、それが指す内容は微妙に異なる。 ここでは、モックを 広義のMock Object と 狭義のMock Object と分けて整理してくれているテスト駆動開発を参考に用語を整理する。 テスト駆動開発では、モック用語を、下図のとおり、テストダブルとそのサブクラスとして

                      なぜJestのmockライブラリに混乱してしまうのか? - Qiita
                    • Facebook製のJavaScriptテストツール「Jest」の逆引き使用例 - Qiita

                      はじめに みなさん、日頃JavaScriptのテストはどのように行っていますか? 昨今ではAngularJSやReactJSを始め、JavaScriptのフレームワークやライブラリを使用してのフロントエンドの開発が当たり前のようになってきております。 ではそのフロントエンド、JavaScriptのテストはどんなツールを使っていますか? mochaやpower-assert、chai、Karma、Jasmine等を組み合わせて使用してテストしているでしょうか。 前置きが少し長くなりましたが、Facebookが開発したオールインワンな「Jest」というツールのReactでのHowto的な使い方から実際のテストでの使用例を交えて紹介したいと思います。 ちなみにこのJest、最近リリースされて話題になったパッケージ管理のYarnでも使われています。 対象バージョン Jest:22.0.4 Reac

                        Facebook製のJavaScriptテストツール「Jest」の逆引き使用例 - Qiita
                      • npmパッケージの公開用テンプレートを作ってみました | with TypeScript, Jest, ESLint, Prettier, etc. - mlog

                        npm パッケージの公開用テンプレート を作ってみました。 本記事ではテンプレートの内容について、簡単に解説したいと思います。 以下は、2020/07/09 時点でテンプレートに含まれる内容です。 TypeScript CI/CD (publish by GitHub Actions) Jest ESLint Prettier EditorConfig husky ※ 上記以外の項目については、テンプレート中の package.json などを参考にしてください。 【目次】 テスト Jest 自動整形 ESLint Prettier editorconfig ビルド & デプロイ セットアップ package.jsonの調整 デプロイ設定 ビルドチェック デプロイ (npm publish) publish unpublish まとめ テスト Jest 以下のコマンドで、テストの実行してく

                          npmパッケージの公開用テンプレートを作ってみました | with TypeScript, Jest, ESLint, Prettier, etc. - mlog
                        • 生まれ変わったFacebook製テストフレームワーク「Jest」とは何か?

                          長らく停滞していたFacebook製のJavaScriptテストフレーム「Jest」が息を吹き返しています。概要とサンプルを使ったテストの手順を紹介します。JavaScript PlaygroundのJack Franklinによる特別寄稿です。 この記事ではFacebookが開発したテストフレームワークJestを使い、ReactJSコンポーネントをテストする方法を説明します。Jestの独創的な機能、特にReactアプリ向けテストを簡単に実施する機能について説明するまえに、プレーンなJavaScript関数でのJestの使用法を紹介します。 Jestが注目に値するのは、Reactに対応しているだけでなく、JavaScriptアプリケーションのテストにも使用できるからです。ただし、いくつかの機能はユーザーインターフェイスのテストにとても役立つ形で提供されるので、Reactにぴったりです。 サ

                            生まれ変わったFacebook製テストフレームワーク「Jest」とは何か?
                          • React/Jestでのユニットテストに少し慣れてきたら役に立つtips

                            スペースマーケット所属の711fumiです。 北欧へのあこがれが高まっています☃️ ReactでのWebアプリケーション開発をはじめる中で、ユニットテストを書き始めたときに知って役立ったtipsをまとめてみました。 テスト環境 テスティングフレームワークはJest、UIテストのためにTesting Libraryを使用しています typescript@4.9.4 React@18.2.0 jest@28.1.0 @testing-library/react@13.3.0 ①アサーション 特定の要素内に絞って要素検索を行う - within getBy、findByなどで「要素A内にある要素Bを取得する」場合にwithinを使って要素Aを指定することができます。 const formElement = screen.getByRole('form') expect( within(formE

                              React/Jestでのユニットテストに少し慣れてきたら役に立つtips
                            • サーバーレスでもユニットテスト – TypeScript 製 AWS Lambda を Jest でテストする | DevelopersIO

                              最近は Lambda Function を TypeScript で実装することが多く、テストツールとして Jest を選択しました。導入から基本的なテスト、カバレッジ出力までやってみたので、その手順を記録します。 ユニットテストのモチベーション 変更に対する心理的な安全性を手に入れるため、という理由が大きいです。 たとえば API Gateway のバックエンドを Lambda Function で実装する場合。実装だけであれば、可能な限り any 型を使用せず、 interface や type の有効活用によりデータ型に起因する実行時エラーは大幅に少なくできます。 TypeScript を使うメリットのひとつですね。ではサーバーレスならではの難しいポイントはどこかというと、私の場合 前作った Lambda Function の挙動をすぐ忘れる ということがよくありました。それで、 L

                                サーバーレスでもユニットテスト – TypeScript 製 AWS Lambda を Jest でテストする | DevelopersIO
                              • Jestのuiテストがつらすぎるので愚痴らせてください。そしてブラウザテストで本質的なuiテストをしよう

                                ここから下で話す際、主に使う言語・フレームワーク・ツールとしては - Typescript - React (Next.js) - Jest - React Testing Library - ブラウザテストツールとしてPlaywright を前提としています。ただ話す内容の本質的な部分はVueでもSvelteでも、Vitestだろうがあまり変わらないだろうなと思ってます。そう思って見ていただけると助かります。 現代ではReactでUIの単体テスト・インテグレーションテストを書く場合、Jest x React Testing Library を使うのが一般的かと思います。皆さんはJestでUIテストを書いていますか?Jestでコンポーネントの単体テストを書いていると辛いことがたくさんありませんか?例えば 大量のライブラリのモックによる(これってテストやる意味あるの・・・?)と感じる虚無感

                                  Jestのuiテストがつらすぎるので愚痴らせてください。そしてブラウザテストで本質的なuiテストをしよう
                                • Vue と Jest で Unit test を始めよう | DevelopersIO

                                  Vue と Jest で Unit test を始めよう 保守性の高いコードが書けていますか? VueのComponent構成 ~ Unit test までの流れを書いています。 Unit testがあると、保守しながら長くメンテナンスしていけるコードになるので、 開発の助力になればと思います。 本題の前に Vue とは オープンソースのJavaScriptフレームワークであり、 フロント系では、3大フレームワークと言われ、わかりやすい構文の為人気があります。 Jest とは JavaScriptのUnit testのためのツールです。 わかる事 Atomic Component のディレクトリ構成 (atoms) atomsのComponentのUnit test 触れないこと Vue, Jest の基本的な構文 Atomic Component のディレクトリ構成 Unit testす

                                    Vue と Jest で Unit test を始めよう | DevelopersIO
                                  • 「Jestではじめるテスト入門」を書きましたー #Jest本 - Mitsuyuki.Shiiba

                                    Jestではじめるテスト入門 本日「Jestではじめるテスト入門」がついに発売されました 🎉🎉🎉 peaks.cc CircleCI時代の同僚の伊藤さん @ganezasan が「Jestの自動テスト本の執筆を手伝ってくれませんか?」と声をかけてくれて「これからテストを書きたいって人に向けたJestの入門書を書きたいんですよ!!」って熱く語ってくれて「いいなぁ」と思ったので参加しました。本を書くなんて初めてのことなので、自分なんかに書けるかなぁとドキドキしてたのですが、周りの方々の助けのおかげで、なんとか書き上げることができました。 そして、監修はなんと和田さん @t_wada です。自分が自動テストについて書いた文章を、和田さんに監修していただけるなんて、それだけでとても幸せだなぁと思っていたのですが、「むちゃくちゃ面白かったです!」って言ってもらえたので、もう出版しなくても満足し

                                      「Jestではじめるテスト入門」を書きましたー #Jest本 - Mitsuyuki.Shiiba
                                    • Facebook 製 JavaScript テストツール Jest を使ってテストする ( Babel, TypeScript のサンプル付き ) | Recruit Tech Blog

                                      Facebook 製 JavaScript テストツール Jest を使ってテストする ( Babel, TypeScript のサンプル付き ) 福井祐人 この記事はRECRUIT MARKETING PARTNERS Advent Calendar 2017の投稿記事です。 はじめまして。11月にJoinしたフロントエンドエンジニアの福井(@fukumasuya)です。チームではスタディサプリEnglishのWebブラウザ版の開発を担当しています。 突然ですが皆さんはプロジェクトでJavaScriptのテストをするときにどのツールを使うか迷うことはないでしょうか?フレームワークは?アサーションライブラリは?テストランナーは?テストカバレッジはどうするか?などなど決めないとダメなことが多く苦労していませんか?そんな皆さんにはFacebook製オールインワンテストツールのJestをオススメ

                                        Facebook 製 JavaScript テストツール Jest を使ってテストする ( Babel, TypeScript のサンプル付き ) | Recruit Tech Blog
                                      • テスト未経験から中上級者へのガイドライン!「Jestではじめるテスト入門」出版プロジェクト! - PEAKS

                                        なぜ執筆プロジェクトを立ち上げたのか? 2020年の年末から年明けに開催された技術書典10で「はじめてのJest入門」を執筆しました。私自身はIT業界に約10年いますが、受託案件やR&Dのようなプロジェクトに参加することが多く、テストについての経験があまり得られないまま過ごしてきました。そんな中で社内のメンター&メンティープログラムでTDD(Test-Driven Development:テスト駆動開発)について学ぶ機会があり、セッションを通して学んだことを記憶に残す意味でも、この本を書くことに至りました。しかし、前回の書籍ではTDDやテスト自体の概念についてはあまり触れず、セッションで利用したJestの基本的な機能や使い方についてフォーカスしました。 前回の技術書典10のイベントを通じて、同じような悩みや課題感を持った方多くがいることを知ることができました。JavaScriptは元々フロ

                                          テスト未経験から中上級者へのガイドライン!「Jestではじめるテスト入門」出版プロジェクト! - PEAKS
                                        • Composition API + Jestでコンポーネントを一切マウントせずに書けるフロントエンド単体テストパターン - ANDPAD Tech Blog

                                          どうもこんにちは! 2021年4月にANDPADにジョインし、現在チームでフロントエンドの開発をしている鳩です。 こちらのVue Composition APIをチームで導入して得られたメリット - ANDPAD Tech Blogでも取り上げられていますが、私のチームでもOptions API + Vuex で実装されていたコンポーネントをComposition API + without Vuex のパターンへ書き換えを行っています。 Composition APIへ書き換える最大のメリットは、コンポーネントのロジック部分の多くを単なるJavaScript関数として切り出せるので、コンポーネントとロジックを疎結合な状態に分離でき、単体テストが恐ろしく書きやすくなるという点です。 そんなわけで、コンポーネントを一切マウントせずに書けるフロントエンドあるあるテストパターンを紹介していこうと

                                            Composition API + Jestでコンポーネントを一切マウントせずに書けるフロントエンド単体テストパターン - ANDPAD Tech Blog
                                          • jestのテストが遅い場合に確認すべきこと - ishikawa_pro's memorandum

                                            こんにちは。 急に寒くなりましたね。 僕は最近iPad Air4 を予約しました。 今日は、javascriptのテストフレームワークのjestについてです。 業務では去年くらいから新規サーバーアプリケーションはjavascriptではなくTypeScriptを使っています。 それに合わせてテストフレームワークもmochaからjestへ移行しました。 jestjs.io jestの特徴の1つは、一意なグローバル状態を持つことを保証しつつ、複数のテストを別プロセスで並列に実行してくれるため、安全に高速なテストをすることが可能なことです。 しかし、僕が前にいたチームでjestのテストにかかる時間がやたら長いことが話題になってました。 今日は、この高速なはずのjestがやたら遅い問題が社内で話題になっていたので調査してまとめてみたので、もしjestが遅くて困っている方は参考にしてみてください。

                                              jestのテストが遅い場合に確認すべきこと - ishikawa_pro's memorandum
                                            • リーダブルなテストのための、jest モックファクトリー関数

                                              単体テストを書く時、モジュール間の関連を検証するため、一部のモジュールをモックする必要が出てくることがあります。モックは様々な手法がありますが、書き方によって、メンテナンス性やテストの可読性が変わります。一般的に行われるモック手法を確認しつつ、よりリーダブルなテストを書く方法を紹介します。 ログイン API を呼び出す Web API クライアント 今回紹介する、モック対象の Web API クライアントです。Native Fetch API を関数でラップした、自作の Web API クライアント(ログインするためのlogin関数)です。 export type Data = { redirectUrl: string; }; export type Input = { email: string; password: string; }; export async function l

                                                リーダブルなテストのための、jest モックファクトリー関数
                                              • TypeScriptでJestを使うときの設定(ts-jest, @types/jestなど) - dackdive's blog

                                                メモ。 TypeScript を使ったプロジェクトに Jest を導入する時に必要なパッケージや設定、とくに ts-jest と @types/jest が必ず必要なのかどうかがよくわかってなかったので調べた。 先にまとめ TypeScript -> JavaScript のコンパイルを TypeScript 自身でやるか Babel に任せるかで必要な設定が異なる。 (Babel 7 から TypeScript がサポートされた) @types/jest は(テストファイルも型チェックするなら)両方で必要 TypeScript のコンパイルに Babel を使う場合、@preset/typescript と babel-jest をインストールしておけば ts-jest は不要 TypeScript のコンパイルに TypeScript を使う場合、 ts-jest が必要。jest.c

                                                  TypeScriptでJestを使うときの設定(ts-jest, @types/jestなど) - dackdive's blog
                                                • Next.js の Jest / React Testing Library でモック (mock) を含めた render で開発効率を高めよう | fwywd(フュード)powered by キカガク

                                                  Next.js でテスト駆動開発を進める時に必ず関門となる各種機能のモックに関するベストプラクティスを紹介します。 今回は Router などの機能をモックした render を作成して、共通のコンポーネントとして利用することを目標としましょう。 バージョン情報 Node.js:15.11.0 React:17.0.2 Next.js:10.2.2 Jest:26.6.3 React Testing Library @testing-library/react:11.2.5 Router を使用した際の問題点 next/router

                                                    Next.js の Jest / React Testing Library でモック (mock) を含めた render で開発効率を高めよう | fwywd(フュード)powered by キカガク
                                                  • Jest で落ちたアサーションを GitHub のアノテーションに出す - Diary of a Perpetual Student

                                                    最近 GitHub Actions を弄くり倒すことにハマっていて、 GitHub の Checks API を利用して annotation を出すおもてなしをすることだけが生きがいだと思って生活していました。 そんな中、JavaScript (TypeScript) のコードのテストでよく使われている Jest で、どの assertion が落ちているかを annotation で分かりやすく表示したいと思っていました。自作で頑張ろうかな~と思って調べていると、 Jest 28.0.0 (2022年4月末ごろリリース)から Github Actions で annotation を出す reporter 機能が組み込まれていたという事実を知りました。 jestjs.io この便利機能が思ったより世の中で使われていない感じがしたので紹介します。 サンプル こちらをどうぞ: github

                                                      Jest で落ちたアサーションを GitHub のアノテーションに出す - Diary of a Perpetual Student
                                                    • GAS開発のJestによるモック入り結合テスト仕立て / The way to develop GAS with mocking integration test by Jest

                                                      このスライドは 【エンジニア交流会】Google Apps Script 活用ミートアップ #3 (2018-10-17) https://gaiax.connpass.com/event/101411/ で発表したものです。 Google App Script の開発はお手軽だけど動作確認がポチポチ面倒じゃありませんか? Jestの強力なモック機能を駆使した結合テストを導入して、かなり楽になった知見を実例を交えてご紹介しようと思いました。 サンプルコードGist https://gist.github.com/AquiTCD/81294f568b823e5eecca11a182a69e14 --- 2019-3-8 追記 現在はWebpackではなくClasp+TypeScriptで書いています。 こちらも参考になれば嬉しいです。 Google App ScriptをTypeScript

                                                        GAS開発のJestによるモック入り結合テスト仕立て / The way to develop GAS with mocking integration test by Jest
                                                      • 「現代のジョイス」が書いた1000頁を越える伝説のメガノベル(Infinite Jest by David Foster Wallace) - 未翻訳小説を頑張って日々読んでいる日記

                                                        編集者である知人Mがこんな話を聞かせてくれたことがある。Mがとある寿司屋に入り、たまたま隣に座ったアメリカ人と話してみると、なんとそのアメリカ人は学生時代にポストモダン文学を専攻、しかもトマス・ピンチョンを研究していた人物だった。Mは自分がリチャード・パワーズのファンであること、パワーズ作品の魅力を熱く語ったのだが、そのアメリカ人は「ごめん、パワーズって誰?」と答え、最近の好きな作家としてジョナサン・フランゼン、そしてデイヴィッド・フォスター・ウォレスの名を挙げたという。 邦訳が少なく日本の読者にとって未知の存在、しかし本国では現代を代表する大物作家、デイヴィッド・フォスター・ウォレス(David Foster Wallace, 以下DFWと略す)。そのDFWの代表作であり、アメリカにセンセーションを巻き起こし未だに読み継がれる小説こそ、1996年に発表された1079頁のメガノベル、Inf

                                                          「現代のジョイス」が書いた1000頁を越える伝説のメガノベル(Infinite Jest by David Foster Wallace) - 未翻訳小説を頑張って日々読んでいる日記
                                                        • GitHub - developit/karmatic: 🦑 Easy automatic (headless) browser testing with Jest's API, but powered by Karma & Webpack.

                                                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                                                            GitHub - developit/karmatic: 🦑 Easy automatic (headless) browser testing with Jest's API, but powered by Karma & Webpack.
                                                          • [msw, Jest, Node.js] mswを利用してHTTP境界のテストを書く

                                                            JestでHTTPリクエストをインターセプトしてモックを返すのに利用したMock Service Worker(msw)の紹介をしたいと思います。環境はNodeです。 テスト対象の実装 http://example.com/examples からデータを取得する、という想定の実装です。 import fetch from 'isomorphic-unfetch'; export class GetExampleError extends Error {} export async function getExamples(): Promise<string> { const result = await fetch('http://example.com/examples'); if (!result.ok) { throw new GetExampleError('Received ge

                                                              [msw, Jest, Node.js] mswを利用してHTTP境界のテストを書く
                                                            • jest における MSW の活用事例

                                                              MSW を使った jest のテストについて、引数などの検査が面倒という記事を拝見したので、もし同様にアプローチを模索されている方がいらっしゃれば参考に、と思い記事にしました。筆者は普段以下の様に、server.use内にjest.fnを仕込みテストしています。例えば API が2回呼ばれたことを検証する場合、次の様になります。 const server = setupMockServer(...handlers); describe("API call の検証", () => { const mockFn = jest.fn(); beforeEach(() => { server.use( rest.get("/path/to/api", async (req, res, ctx) => { mockFn(); // <- here return res(ctx.json({}));

                                                                jest における MSW の活用事例
                                                              • フロントエンドのテスト基盤を Jest から Vitest に移行した話

                                                                こんにちは。ナレッジワークの torii です。 7 月にフロントエンドエンジニアとして入社してもうすぐ半年、そろそろ技術記事の一つも書きたいなと思っていたところに、ちょうどいいネタを見つけたので投稿してみます! Jest から Vitest に移行してみた 早速やったことですが、フロントエンドのテストフレームワークを Jest から Vitest に移行しました。理由としては、Jest が CJS を前提として動作しており、ESM 前提のモジュールを動かすのに一手間も二手間もかかるからです。 ナレッジワークのフロントエンドは Next.js を採用しており、テストフレームワークには Next.js と相性の良い Jest を採用していました。関数単位のテストや UI コンポーネントのテストを書く分には問題なかったのですが、それより上層(ページなど)になるとたちまち ESM 互換性の問題を

                                                                  フロントエンドのテスト基盤を Jest から Vitest に移行した話
                                                                • CI 環境でのユニットテストの実行時間を2倍速くした話 (Jest + Mongo DB + Circle CI) - ミツモア Tech blog

                                                                  こんにちは。ミツモアでテックリードしております白柳(@yanaemon) です。 ミツモアのプロダクトは TypeScript で、クライアントサイドの React とサーバサイドの Node.js で書かれており、ユニットテストは Jest + Mongo DB + Circle CI を利用しています。 しかし、プロダクトが大きくなるにつれて、全ユニットテストを実行するのに 10 分程度かかり、開発効率が悪くなっていました。 今回は、それを 2 倍以上速度改善した取り組みについて紹介します。 実施したこと いきなりですが、具体的に実施したことと、改善結果になります。 実施内容 改善結果 1. ファイル分割をし、並列度をあげる これ単体では速度改善は期待できない 2. テスト対象を修正されたファイルのみにする x1 ~ x10 速度 UP ※ただし最終的にはやめました 3. DB 生成な

                                                                    CI 環境でのユニットテストの実行時間を2倍速くした話 (Jest + Mongo DB + Circle CI) - ミツモア Tech blog
                                                                  • Next.js 12でJestの設定がかなり楽になった

                                                                    Next.js 12 における Jest サポートの強化 2/18 に Next.js 12.1 がリリースされました。 本バージョンの新機能として「next/jest プラグインを使った Zero-configuration Jest のサポート」が挙げられています。 この新機能自体は Next.js 12.0 の時点からベータ版として利用できるようにはなっていましたが、この度安定版がリリースされた形となります。 next/jest プラグインを使って Next.js アプリのテスト環境を構築する next/jest プラグインを使う方法は以下の2点が挙げられます。 新規でアプリを作る際、時間がないときは1番の方法を取ってもいいでしょう。今回は2番の方法を紹介します。 (テンプレートが TS で書かれているのは地味に嬉しいポイント) create-next-app コマンドでテンプレート

                                                                      Next.js 12でJestの設定がかなり楽になった
                                                                    • そのテスト、最後まで実行されていますか? jestとnpm-run-allの恐るべき罠

                                                                      皆さんこんにちは。この記事では、筆者が最近業務中に経験した恐るべき罠についてシェアしたいと思います。 CIでユニットテストを実行することは、とても多くのプロジェクトで行われています。ユニットテストは特に、既存のコードの変更を自信を持って行うために必要なものです。弊社でも、CI (GitHub Actions) でユニットテストを実行しています。 あるとき、CIの挙動が不安定になったことをきっかけに、CI上でのユニットテストの実行について調べてみました。その結果、とんでもないことが判明したのです。 不安定になったCI 時折、CIにすごく時間がかかり、30分経ったあたりでタイムアウトしてしまうことがありました。そのときのログを見てみると、jestによるユニットテストが実行されている最中に、何のログも出力せずに突然止まっているようでした。そのようなときはリトライするとそこそこの確率で成功します。

                                                                        そのテスト、最後まで実行されていますか? jestとnpm-run-allの恐るべき罠
                                                                      • GitHub ActionsでJestのログに色をつけられる - hogashi.*

                                                                        Jest は TTY では色つきのログを出すが、そうでないときは色なしになる https://jestjs.io/docs/cli#--colors --colors オプションか、環境変数で FORCE_COLOR=true するととにかく色つきのログを出せる GitHub Actions では色つきのログに対応している A better logs experience with GitHub Actions | The GitHub Blog That’s why we are increasing the color support, including: ANSI colors 8-bit colors 24-bit colors https://github.blog/2020-09-23-a-better-logs-experience-with-github-actions/

                                                                          GitHub ActionsでJestのログに色をつけられる - hogashi.*
                                                                        • Jestを使ったVueコンポーネントのテストを導入した話 - MicroAd Developers Blog

                                                                          はじめまして、フロントエンドエンジニアをしている川上です。 業務では、主にサービス要件に沿ったフロントエンド開発を担当しています。 今回は、私自身初めての経験だったフロントエンドのテスト導入手順や、 導入するにあたって気をつけた点などをお話しできればと思います。 はじめに Vueコンポーネントのテストについて Jestの導入について Jestを利用したテスト おわりに はじめに マイクロアドには様々なプロダクトがありますが、私の担当しているUNIVERSEというプロダクトについては、 フロントエンドフレームワークにVue.jsを利用しています。 jp.vuejs.org テストの導入を行うにあたって、今後、現在利用しているVue2をVue3へ移行していくことを考えると*1 TypeScript*2でテストを書いていくのがいいということになりました。 また、TypeScriptのメリットでも

                                                                            Jestを使ったVueコンポーネントのテストを導入した話 - MicroAd Developers Blog
                                                                          • Jestなどを使わずにスナップショットテストを書く

                                                                            次のようなテストコードを書きます。(これはMochaを使っていますが大体どんなテストフレームワークでも同じことが出来ます。) 次のスナップショットでは、transformというJSONを入力に受け取り、JSONを出力する関数をテストしています。 snapshot-test.js: const fs = require("fs"); const path = require("path"); const assert = require("assert"); const fixturesDir = path.join(__dirname, "snapshots"); // transform function const transform = require("../transform"); describe("Snapshot testing", () => { fs.readdirSy

                                                                              Jestなどを使わずにスナップショットテストを書く
                                                                            • Vite は使ってないけど Jest を Vitest に移行する

                                                                              上記以外で特筆すべき点として、他の開発者(≒チームメンバー)にとっては、変更の影響をほとんど受けずに、ノーコストで上記恩恵を受けられる点があります。 これは Vitest の Jest に対する高い互換性のおかげでテストコードの書き方に大きな変更がなかったことと、テスト実行コマンドを npm-scripts によって隠蔽していたことによるもので、移行したことに気づきさえしない可能性もあります。 Vite を使ってないのに Vitest 使ってええんか? 今回 Jest から Vitest への移行を行ったプロジェクトは、開発サーバーやプロダクションビルドには Webpack を使用しており、Vite は一切使用していませんでした。 そういったプロジェクトにおいても、Vite をベースとしたテストフレームワークである Vitest は使用して良いものでしょうか? これについては Vitest

                                                                                Vite は使ってないけど Jest を Vitest に移行する
                                                                              • Node.js18を20にアップデートして、jestの実行速度を3倍にした - くらしのマーケット開発ブログ

                                                                                こんにちは!バックエンドエンジニアのハラノです。 くらしのマーケットのシステムの中には、Node.js(NestJS)を使用したマイクロサービスが存在しており、今回 Node.js のバージョンアップを行いました。 バージョンアップの方針及び、実際にアップデートを行う際に出てきた問題とその対策をご紹介します。 バージョンアップの方針 バージョンアップの結果 各種対応において、発生した問題と対応 TypeScript のバージョンアップ NestJS のバージョンアップ @nestjs/common から HttpService, HttpModule が削除された Inject にInject(TestRepository.name)のように、クラス名を渡している部分について、依存関係の解決が行えなくなっていた RxJS のtoPromiseが Deprecated になった TypeOR

                                                                                  Node.js18を20にアップデートして、jestの実行速度を3倍にした - くらしのマーケット開発ブログ
                                                                                • Jestでテストを書こう!

                                                                                  はじめに はじめまして。 エンジニアのtaptappunです。 我々は普段からビットコインという「お金」を扱ったサービスを開発しています。 そのため、日々バグをなくす努力をしており、その一つとして自動テスト(CI)を導入しています。 ビットバンクでは普段、Node.js(TypeScript)を用いて開発しています。 今回はNode.jsのテストフレームワークであるJestを利用したテストの導入方法と実践的なテストの書き方について紹介していきます。 Jestについて Jestは、Facebookが開発を進めている、オープンソースのJavaScriptのテストフレームワークです。 Jest(Github) TypeScriptで記述したものでも利用できます。 テストフレームワークであるため、テストを書くために必要な一通りの機能が提供されています。 弊社ではTypeScriptで記述したテスト

                                                                                    Jestでテストを書こう!