3

是否有人知道如何使用Django REST后端执行(React)前端的集成测试。我能够使用Nightwatch.js和虚假服务器API编写前端功能测试。我也能够单独测试Django REST API - Django提供了一个LiveServerTestCase,它可以为测试数据库启动一个测试服务器,并在最后销毁它。我想知道是否有可能以某种方式使用/设置Django的可以由前端调用的测试服务器(即Nightwatch测试)。 我很乐意接受有关如何解决此问题的其他建议。React前端与Django REST后端的集成测试

+0

为什么不能使用相同的Nightwatch.js前端测试,并简单地与实例化并配置为运行测试的django后端对话? –

+0

你说得对,这似乎是一个明显的解决方案。 – foobar

回答

2

集成测试重度客户端JavaScript应用程序总是有点棘手。我为此场景选择的工具是使用Capybara - 一个很好的Ruby DSL与网页交互 - 以及javascript enabled driver。我已经成功地使用了webkitdriver和poltergeist。它们都是无头的,所以你可以在后台运行测试而不会打扰浏览器。 (硒的情况....)在某些情况下,我现在还不记得有两个问题。

由于您使用的是Django,您可能需要执行testing in Python。我建议寻找支持上述两个驱动程序之一。此外,node.js社区可能对此有用。

+0

谢谢@froderik,我不知道水豚,肯定会看看:)我的问题是做前端集成测试,调用后端REST API,它运行在不同的服务器上。所以我会来回决定是否应该在前端(即使用一些JS框架)或者在后端使用Django工具进行集成测试。我很好奇,看看其他人如何做到这一点。 – foobar

+1

我想说大多数人不会在集成测试中包含他们的JS前端。他们认为需要太多时间来维护。在我看来,这是你必须为持续稳定付出的时间。我会给JS测试一下,如果因为某种原因变得太不稳定或者很难,那么我会回退到后端方法。要考虑的另一个参数是不同部分的单元测试覆盖度。 – froderik

+0

我会试试看,谢谢你的见解! – foobar