2

我想知道在 ArangoDB 中测试 Foxx 应用程序的正确方法是什么。我的项目结构(简化)如下所示:

/frontend /* AngularJS webapp */
/backend  /* Foxx controllers, models and repositories */
manifest.json

对于前端,我成功地使用了 Karma/Jasmine,但在尝试测试 Foxx 控制器时遇到了问题。

更具体地说,我想要实现的是测试一些端点并验证它们是否完成了它们的意图,基本上是 CRUD 操作。为此,出于多种原因,我确实需要访问 ArangoDB 实例:清理测试数据库、使用测试数据预填充它等。

在这种情况下应该怎么走?这甚至可能吗?

4

1 回答 1

1

有两种方法可以处理这个问题:

  1. 对 Foxx 应用程序进行全栈 HTTP API 测试
  2. 对 Foxx 应用程序的不同部分进行单元测试

第一件事是可能的,我已经为 Foxx 应用程序做到了。我建议这样做,因为 API 是您的前端和后端之间的合同。我认为它也更接近你所描述的。

第二件事现在还不太可能,但 Foxx 团队正在努力,并且在不久的将来会成为可能。

对于 Web API 测试,我个人使用Cucumber使用 Ruby 驱动程序Ashikawa::Core在运行测试套件之前截断集合。但是,如果您将 API 与 HTTP 客户端结合使用,则可以在您喜欢的任何测试框架中测试 API。

于 2014-07-29T09:23:39.650 回答