【问题标题】:How to end to end test a web application?如何端到端测试 Web 应用程序?
【发布时间】:2014-04-28 21:58:38
【问题描述】:

据我所知,端到端测试是黑盒测试,所以我应该对应用程序一无所知,只是使用它的接口并检查结果......但是我应该如何检查只读api,如果我不能触摸数据库来设置我打算用它读取的数据?

使用 e2e 方法编写固定装置真的很重要吗?在我目前的情况下,我有一个 www 和一个 members 子域。 www 子域的内容由具有适当授权的成员的子域管理。我想用 tdd 开发,从 e2e 测试开始,以单元测试结束……如果我想先开发 www 子域,我无法制作 e2e 夹具,因为尚未实现数据写入。如果我想这样开发,我应该先实现成员的子域吗?我打算使用事件溯源,所以很容易制作一个 DB 固定装置,只需插入一些域事件,就可以了……

我不明白这种测试的逻辑,如果我不能向数据库中插入任何东西,它一开始就是空的。但是我不会有一个具有适当授权的用户,所以我不能写入数据库,所以我不能测试任何东西。所以这是一个catch-22...至少我必须有一个具有适当授权的测试用户,但是制作一个测试用户需要写入数据库...我想我的大脑已经烧毁了:D

【问题讨论】:

  • 如果它是只读 API,那么您不应该设置任何东西,这就是重点。如果您无法访问数据库,您将需要找到另一条路线来添加您需要的数据以帮助您测试您的情况。
  • Ofc。它不仅准备好,而且需要授权才能从不同的子域写入数据。实际的域只有读取能力,我想用 tdd 开发它。我打算编写第一个 e2e 测试,下一个集成测试,最后是单元测试......有没有推荐的方法来为端到端测试创建夹具,或者我应该如何编写它们?

标签: testing e2e-testing end-to-end


【解决方案1】:

所有测试都需要数据来进行测试,甚至是黑盒测试。通常,您将拥有一个设置函数,该函数在测试运行之前用数据填充您的数据库。您可能还会有一个拆卸步骤,这可能会将数据库恢复到预测试状态。这绝不违反任何测试规则。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 2016-04-23
    • 2013-02-23
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    相关资源
    最近更新 更多