Testing 如何端到端测试web应用程序?

Testing 如何端到端测试web应用程序?,testing,e2e-testing,end-to-end,Testing,E2e Testing,End To End,据我所知,端到端测试是黑盒测试,所以我不应该了解应用程序的任何信息,只需使用其接口并检查结果。。。但是,如果我不能触摸数据库来设置我打算用它读取的数据,我应该如何检查只读api呢 使用e2e方法编写夹具真的很重要吗?在我目前的情况下,我有一个www和一个members子域。www子域的内容通过适当授权从成员的子域进行管理。我想用tdd开发,从e2e测试开始,到单元测试结束。。。如果我想先开发www子域,我不能制作e2e夹具,因为数据写入还没有实现。如果我想以这种方式开发,我应该首先实现成员的子域

据我所知,端到端测试是黑盒测试,所以我不应该了解应用程序的任何信息,只需使用其接口并检查结果。。。但是,如果我不能触摸数据库来设置我打算用它读取的数据,我应该如何检查只读api呢

使用e2e方法编写夹具真的很重要吗?在我目前的情况下,我有一个www和一个members子域。www子域的内容通过适当授权从成员的子域进行管理。我想用tdd开发,从e2e测试开始,到单元测试结束。。。如果我想先开发www子域,我不能制作e2e夹具,因为数据写入还没有实现。如果我想以这种方式开发,我应该首先实现成员的子域吗?我打算使用事件源,所以制作一个DB夹具非常简单,只需插入一些域事件,就可以了


我不理解这种测试的逻辑,如果我不能向数据库中插入任何内容,它在开始时将是空的。但是我没有一个具有适当授权的用户,所以我不能写入数据库,所以我不能测试任何东西。所以这是第22条军规。。。至少我必须有一个具有适当授权的测试用户,但创建测试用户需要写入数据库。。。我想我的大脑已经精疲力竭了:所有的测试都需要数据来进行测试,甚至是黑盒测试。通常,您将拥有一个设置函数,在测试运行之前用数据填充数据库。您可能还有一个拆卸步骤,这可能会将数据库恢复到测试前状态。这绝不会违反任何测试规则。

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