【问题标题】:Load Json Fixture in Karma/Mocha在 Karma/Mocha 中加载 Json Fixture
【发布时间】:2016-02-29 15:55:05
【问题描述】:

我将 Karma 与 Mocha 和 karma-fixture 一起使用。如果我在运行测试时进入调试,我可以看到文件已加载到服务器中。如果我更改了配置included:true,那么我可以看到它已加载到控制台上。扩展名更改为 .js(而不是 .json),如果我查看文件的源代码(在浏览器窗口中),则 json 被包装在一个函数中——所以看起来一切都在发生,如 documentation 中所述。但是,我收到一个错误,即找不到该文件。我在下面包含了相关的配置和错误。

更新 1

我能够使用 require 加载固定装置——无论如何我都在使用它来管理和加载依赖项。数据被分配给这样的数组:__json__['test/fixtures/json-data/querybrowser']。我仍然想知道为什么我不能使用fixture.load() 函数。我觉得我在这里遗漏了一个简单的细节。

谢谢!

配置:

该文件位于此处,从我的项目的根目录路径:\test\fixtures\json-data\querybrowser.json

业力

 files: [{pattern: 'test/fixtures/{,*/}*', watched: true, included: false, served: true}]

测试规范

 fixture.setBase('base/test/fixtures/json-data');
 querybrowser_json = fixture.load('querybrowser.json');

错误

 Chrome 48.0.2564 (Windows 7 0.0.0) Query Browser Function Tests "before all" hook FAILED
 ReferenceError: Cannot find fixture 'base/test/fixtures/json-data/querybrowser.js' 
 at Fixture._throwNoFixture (////node_modules/karma-fixture/lib/fixture.js:141:13)

【问题讨论】:

    标签: javascript json unit-testing fixtures karma-mocha


    【解决方案1】:

    你有没有:

    1. 确保在 karma 配置中的 files 数组和 preprocessors 数组中都包含 JSON 文件?
    2. 确保您在jsonFixturesPreprocessor 中根据https://github.com/billtrik/karma-fixture/issues/10 定义了transformPath 属性?

    我和你有同样的问题,但做这些事情为我解决了这个问题。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-23
    • 2013-07-26
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 1970-01-01
    相关资源
    最近更新 更多