Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在meteor服务器端测试中加载json文件_Javascript_Json_Meteor_Meteor Velocity - Fatal编程技术网

Javascript 如何在meteor服务器端测试中加载json文件

Javascript 如何在meteor服务器端测试中加载json文件,javascript,json,meteor,meteor-velocity,Javascript,Json,Meteor,Meteor Velocity,我的Meteor服务器方法首先调用另一台服务器来检索数据,缓存在mongo db中,然后响应请求。我想用Meteor和Velocity测试我的服务器代码 对于单元测试,我有一个json文件,其中包含来自api的样本响应,但我不知道如何将该文件加载到模拟服务器测试的api响应中。由于是服务器测试,我无法从jasmine jquery访问jquery或getJSONFixtures() 如何在服务器测试代码中加载该json文件 编辑因此,我不想将我的测试资源文件作为资产捆绑在/private目录中感

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

对于单元测试,我有一个json文件,其中包含来自api的样本响应,但我不知道如何将该文件加载到模拟服务器测试的api响应中。由于是服务器测试,我无法从
jasmine jquery
访问
jquery
getJSONFixtures()

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


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

感谢@sparticus的建议

这解决了我的问题:

  • 将所有测试资源文件放在
    /tests
    目录中。我的在
    /tests/resources/***
  • 对于要运行测试的每个gulp任务(
    gulptest
    ),首先将它们复制到私有目录
    /private/tests
    。然后您的测试文件将作为
    Assets.getText()
    提供
  • 在运行任何新任务时,请确保还清理了
    /private/tests
    目录

  • 这确保了我的测试资源文件在部署期间不会被捆绑。

    可能重复@sparticus what is
    private
    目录?它是存储我的测试资源文件的好地方吗?私有目录是放置服务器端资产(而不是代码)的地方。JSON文件属于这一类。只需在根meteor目录中创建一个名为“private”的目录,并将JSON放在其中。阅读更多关于私有目录的信息:是的,json文件绝对不是代码。但是,资产和测试资源之间有一些区别。部署代码时,我不希望发布测试文件。可以有多个测试资源,你说呢?在私有文件夹中,我只需要创建一个子文件夹“test”。您可以将meteor构建配置为不包含该目录,或者进行一些奇特的目录链接,以提供对测试资源的访问,而不将它们包含在构建中。