tyoshikawa1106のブログ

- Force.com Developer Blog -

SFDC:Lightning Web Componentsの開発 - Part 15

Lightning Web Components 開発者ガイドのLightning Web コンポーネントのテストのところ。

Lightning Web コンポーネントのテスト | Lightning Web Components 開発者ガイド | Salesforce Developers


JestをつかってLWCのテストを作成できるとのことです。

Jestのインストール

厳密には「sfdx-lwc-jest」のインストールとのこと。Salesforceプロジェクトでのみ動作する仕組みで、nodeとnpmを事前にインストールしておく必要があります。また、Salesforce CLIも必要になります。


sfdx-lwc-jest とその連動関係をインストールするには、各 Salesforce DX プロジェクトの最上位ディレクトリから次のコマンドを 1 回実行します。

npm install
npm install @salesforce/sfdx-lwc-jest --save-dev

・・・さっそくエラーになりました。


開発者ガイドを良く読んだら、Salesforce CLIのコマンドでインストールできるとのこと。

sfdx force:lightning:lwc:test:setup

こっちもエラー。そういえばTrailheadでやったときにもエラーになってた気がする。


一応Salesforce CLI、node、npmが用意できていることは確認。


たぶん何か設定が漏れていると思います。今回は仕組みについてのチェックだけしておきます。

Lightning Web コンポーネントの Jest テストの実行


Lightning Web コンポーネント用の Jest テストのデバッグ


Lightning Web コンポーネント用の Jest テストの記述


ワイヤサービスを使用する Lightning Web コンポーネントの Jest テストの記述


変更される可能性がある DOM 検査テスト


Jest テストパターンとモックの連動関係


まとめ

Lightning Web Components 開発者ガイドのLightning Web コンポーネントのテストのところに記載されている内容はだいたいこんな感じ。npm インストールコマンド系がうまくいかないことが多いのですが追々確認しようかと思います。


一部省略してきましたが、Part 1 から Part 15で開発者ガイドの内容をざっくりチェックできました。概要の確認はできたのでこれをベースに開発の方いろいろ試してみたいと思います。

補足

エラーメッセージを確認するとこんな感じ。logファイルにもう少し詳細の記載ありますとのメッセージもありました。

Your cache folder contains root-owned files, due to a bug in previous versions of npm which has since been addressed.

キャッシュ フォルダーにはルート所有のファイルが含まれています。これは、以前のバージョンの npm のバグが原因で、その後解決されました。

たぶん、このあたりが解決方法っぽい。