Database 量角器是否也可以直接用于数据库测试?

Database 量角器是否也可以直接用于数据库测试?,database,protractor,Database,Protractor,由于量角器主要用于端到端测试,因此可以覆盖UI级别上类似用户的高级场景 我们是否也应该使用它直接测试数据库 通过建立数据库连接并触发查询来验证数据库状态是否在用户界面中的操作之前和之后 或 对于普通直接db测试,检查存储过程以测试业务规则/功能 哪个是正确的,用量角器的正确方法是什么?这个问题没有正确或错误的答案 一般来说,UI端到端测试应该遵循/模拟用户场景——从高级意义上说,执行UI操作并在浏览器中检查这些操作的结果。数据库的更改方式通常在后端/API的功能测试中检查,而不是在UI e2e测

由于量角器主要用于端到端测试,因此可以覆盖UI级别上类似用户的高级场景

我们是否也应该使用它直接测试数据库

通过建立数据库连接并触发查询来验证数据库状态是否在用户界面中的操作之前和之后

对于普通直接db测试,检查存储过程以测试业务规则/功能


哪个是正确的,用量角器的正确方法是什么?

这个问题没有正确或错误的答案

一般来说,UI端到端测试应该遵循/模拟用户场景——从高级意义上说,执行UI操作并在浏览器中检查这些操作的结果。数据库的更改方式通常在后端/API的功能测试中检查,而不是在UI e2e测试中检查

另一方面,总是会有更多的事情需要测试,更多的事情需要检查——如果一个人是完美主义者,那么就很难停止用测试覆盖被测试的特定应用程序,并停止在每一组操作之后做出各种断言。你总是有办法更深入地检查你的测试结果

另外,另一点是,如果您要连接到测试中的数据库并检查测试如何影响数据,那么您还有一件事需要跟踪—您的数据库查询必须与数据库模式保持同步


总之,这实际上取决于被测试的特定应用程序或功能的重要性。如果是,比如说,与支付、货币交易或发射火箭等有关的事情,那么你越深入越好。

感谢Alecxe的回答。如果有人出于任何原因选择深入,你能推荐一个好的通用实现方法吗?@VishalAggarwal我个人使用了
sequelize
ORM,但我记得我处理过支持数据库模式和使测试更复杂的问题。它总是关于你所测试的东西有多值得和关键。我大体上同意,但我会稍微不同地说。量角器用于结束对用户界面的测试。如果连接到数据库,则只需验证UI是否与数据库正确交互。不应使用它来验证数据库本身(应假定以其他方式进行测试)。以这种方式在量角器中使用DB确实会使事情复杂化,但我在过去使用过这种技术。这完全取决于你使用的应用程序的类型。