2

我终于朝着微服务架构迈出了一步,尤其是我觉得很酷的三要素应用程序。

因此,我决定开始使用 hasura 构建我的后端,因为它速度极快并且对事件系统非常着迷。

然而,我已经面临我的第一个难题:我希望我的后端能够被接受。为此,我想对我的后端执行某种端到端调用。例如,我想在这样的验收测试中调用我的 hasura api 上的突变,并在运行测试场景之前将数据库恢复到其状态。

在这种情况下,最佳实践是什么?如何将数据库回滚到就在调用突变之前?

我知道在没有中间 hasura 引擎的情况下,我将如何使用纯 postgres 数据库来做到这一点。问题是现在我的验收测试正在调用突变,这些突变不能让我直接访问 postgres 事务,这让我没有明显的方法可以在测试场景运行之前将我的数据库恢复到其原始状态。

我尝试使用stellar,但效果并不好。我也可以在每次运行新场景时重新创建数据库,但这会非常低效。我读到了hasura审计,也许这就是要走的路?你如何接受/集成测试你的 hasura 后端?

4

1 回答 1

0

目前,我只能提供部分答案。稍后我可能会想出示例代码。这样做的方法是在 websockets 上使用 graphql 事务,如此所述。

于 2020-02-06T05:17:34.023 回答