我的配置文件中的Karma文件属性是
files: [
// Program files
'public/js/init.js',
// Load mocks directly from bower
'bower_components/angular-mocks/angular-mocks.js',
// Fixtures
{
pattern: 'test/fixtures/*.json',
watched: true,
served: true,
included: false
},
// Specs
'test/unit/**/*.spec.*'
]
其中一个灯具如下:test / fixtures / languages.json
{
"ab":{
"name":"Abkhaz",
"nativeName":"аҧсуа"
},
"aa":{
"name":"Afar",
"nativeName":"Afaraf"
},
"af":{
"name":"Afrikaans",
"nativeName":"Afrikaans"
}
}
如何在expect语句的变量中加载上面提到的json?
答案 0 :(得分:1)
你可以用ajax手动完成,或者你可以使用带有requirejs和requirejs json文件加载器插件的karma ...
var xhr = new XMLHttpRequest();
xhr.open('get', '/base/test/fixtures/languages.json', false);
xhr.send();
console.log(xhr.status, xhr.responseText); //200, {...}
Karma在浏览器中运行,所以你可以用业力来做所有事情,你可以在浏览器中正常做什么...如果你想使用服务器端生成的信息,请注意业力确实有自己的服务器,所以您的测试在不同的域下运行,您应该使用CORS从应用程序服务器获取数据。通过客户端静态文件,如果您在karma配置文件中注册其模式,这不应该导致问题...