【问题标题】:Can I use react testing library with jest to do integration tests?我可以使用带有 jest 的反应测试库来进行集成测试吗?
【发布时间】:2020-03-25 14:47:34
【问题描述】:

我的应用有一个 React 前端和 ASP.NET 核心 Web API 后端。我已经使用 react-testing-library 构建了一些单元测试(即,将 fetch() 存根)。

现在我想做一个集成测试,通过 HTTP 调用真正的后端 API。有很多独立的 API 测试工具我可以做到这一点,但是我仍然没有测试 React 组件和服务器之间的接口。

有什么理由我不应该简单地编写不删除fetch() 的开玩笑测试,并实现真正的端到端测试?这对我来说似乎很明显,但我还没有看到任何讨论它的文章。

【问题讨论】:

  • 您可以使用更通用的testing-library.com/docs/dom-testing-library/intro 进行“单元、集成和端到端测试”(根据常见问题解答)。使用 React 版本似乎与 E2E 测试的底层技术过于耦合。 Jest 只是一个测试运行器,它并不关心你正在编写什么类型的测试 - 你也可以将它与例如WebdriverIO standalone.

标签: asp.net-web-api jestjs automated-tests integration-testing react-testing-library


【解决方案1】:

在进行前几次测试之后,FWIW 似乎是一种非常成功的方法。我已经能够“几乎”远程控制 UI(我的意思是它实际上并没有在浏览器中运行,而是使用我的 React 组件),而无需学习或设置 selenium。

最令人头疼的是 JSDOM 的 fetch 实现(在他们的辩护中,这可能不是为了做这种事情)。我在 cookie 和 CORS 方面遇到了很多问题,所以我改用 node-fetch,这让我可以更好地控制我生成的 HTTP 请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-11
    • 2019-02-28
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    相关资源
    最近更新 更多