如何在流星服务器端测试中加载 json 文件

how to load json file in meteor server side test

我的 Meteor Server 方法首先调用另一个服务器检索数据,缓存在 mongo 数据库中,然后响应请求。我想使用 Meteor with Velocity 测试我的服务器代码。

对于单元测试,我有一个 json 文件,其中包含来自 api 的示例响应,但我不知道如何加载该文件以模拟为服务器的 api 响应测试。由于是服务器测试,我无法从 jasmine-jquery.

访问 jquerygetJSONFixtures()

如何在我的服务器测试代码中加载 json 文件?

编辑 从此 answer 我不想将我的测试资源文件作为资产捆绑在 /private 目录

感谢@sparticus 的好建议。

这解决了我的问题:

  1. 将所有测试资源文件放在./tests 目录中。我的在里面 ./tests/resources/**/*
  2. 对于每个 gulp 任务 运行 测试 (gulp test) 首先将它们复制到私有目录 ./private/tests。然后您的测试文件将以 Assets.getText(<filename>).
  3. 的形式提供
  4. 确保在 运行 任何新任务
  5. 的同时清理 ./private/tests 目录

这让我确信我的测试资源文件在部署期间没有被捆绑。