🙌Next.js, Prisma, Jestでサーバーサイドのテストをする2023/12/25に公開2件Next.jsTestPrismaJesttechDiscussionぴんなる2023/12/27参考になります、ありがとうございます! Testing-Libraryを使用して、フロントエンドの操作して(formをrenderして、clickしてsubmitさせる)server actionを動かそうと思ったのですが、server actiomが動きません(エラーもでず)。。 そういったテストはe2eテストのフレームワークを活用するほかなさそうですか? Junsei Nagao2024/01/01初めまして React Testing Libraryは、Componentをレンダリングして操作するだけですので、Server Actionsをサポートしていないと思いますし、Next.jsではServer Actionsが発火するとHTTPリクエストが発生しますので、Jestの実行環境でHTTPリクエストを含めたテストをモックなしにテストするのは現状実装が難しいと思います。 回避策として Server Actionsで実行しているロジックを切り出して関数単体でテストする(入力はテストケースで値を渡す、依存はモックする) おっしゃるようにE2EテストでNext.jsサーバーを立ち上げたうえでテストする のどちらかを行うのが良いと思います。 返信を追加
ぴんなる2023/12/27参考になります、ありがとうございます! Testing-Libraryを使用して、フロントエンドの操作して(formをrenderして、clickしてsubmitさせる)server actionを動かそうと思ったのですが、server actiomが動きません(エラーもでず)。。 そういったテストはe2eテストのフレームワークを活用するほかなさそうですか? Junsei Nagao2024/01/01初めまして React Testing Libraryは、Componentをレンダリングして操作するだけですので、Server Actionsをサポートしていないと思いますし、Next.jsではServer Actionsが発火するとHTTPリクエストが発生しますので、Jestの実行環境でHTTPリクエストを含めたテストをモックなしにテストするのは現状実装が難しいと思います。 回避策として Server Actionsで実行しているロジックを切り出して関数単体でテストする(入力はテストケースで値を渡す、依存はモックする) おっしゃるようにE2EテストでNext.jsサーバーを立ち上げたうえでテストする のどちらかを行うのが良いと思います。 返信を追加
Junsei Nagao2024/01/01初めまして React Testing Libraryは、Componentをレンダリングして操作するだけですので、Server Actionsをサポートしていないと思いますし、Next.jsではServer Actionsが発火するとHTTPリクエストが発生しますので、Jestの実行環境でHTTPリクエストを含めたテストをモックなしにテストするのは現状実装が難しいと思います。 回避策として Server Actionsで実行しているロジックを切り出して関数単体でテストする(入力はテストケースで値を渡す、依存はモックする) おっしゃるようにE2EテストでNext.jsサーバーを立ち上げたうえでテストする のどちらかを行うのが良いと思います。
Discussion
参考になります、ありがとうございます!
Testing-Libraryを使用して、フロントエンドの操作して(formをrenderして、clickしてsubmitさせる)server actionを動かそうと思ったのですが、server actiomが動きません(エラーもでず)。。
そういったテストはe2eテストのフレームワークを活用するほかなさそうですか?
初めまして
React Testing Libraryは、Componentをレンダリングして操作するだけですので、Server Actionsをサポートしていないと思いますし、Next.jsではServer Actionsが発火するとHTTPリクエストが発生しますので、Jestの実行環境でHTTPリクエストを含めたテストをモックなしにテストするのは現状実装が難しいと思います。
回避策として
のどちらかを行うのが良いと思います。