我目前正在使用新的Next.js 13应用程序目录和next-auth进行身份验证。会话是在服务器端生成的,所以我无法访问Cypress中的会话对象。我想在Cypress中模拟会话对象,这样我就可以在不登录的情况下测试应用程序的功能。
我尝试了以下方法来模拟会话对象:
- 使用
cy.intercept
拦截/api/auth/session
路由。但是,这只拦截来自客户端请求的路由,而不是服务器端请求。 - 使用next-auth中的客户端
signIn
方法并提供凭证(我使用凭证登录)。然而,这也不管用。我希望有人能帮助我弄清楚如何在Cypress中模拟会话对象,以便我可以测试应用程序的功能。
以下是有关我的环境的一些其他详细信息:
- 我正在使用NextAuth v4.22.1
- 我使用的是Next.js v13.4.4
- 我用的是Cypress v12.3.0
1条答案
按热度按时间dauxcl2d1#
我建议你去看看都市固体废物。我在每一个项目中都使用它。
https://mswjs.io/