MCVE位于this github repo。
我正在研究一个JavaScript应用程序,该应用程序在加载时会读取清单文件。我希望能够测试该功能是否有效。我有这个测试功能:
it('We can get a manifest file', function(doneFn) {
manifest=""
console.log(window.location.pathname);
console.log("1")
load_manifest("/Users/joepublic/MCVE/manifest.json");
console.log("2")
console.log(manifest.length)
setTimeout(expect(manifest.length).not.toBeLessThan(1),4000);
console.log(manifest);
doneFn();
});
});
我正在测试的功能如下:
function load_manifest(filename){
//go and get a manifest. We're starting with the one in the root of the template for now.
var req = new XMLHttpRequest();
console.log("a");
req.open("GET", filename);
req.send(null);
req.onload = function() {
if (req.readyState == 4 && req.status == 200) {
console.log("hello");
console.log(req.responseText);
manifest= JSON.parse(req.responseText);
} else {
console.log("Problem reading file");
}
};
console.log("b");
}
因果报应的输出为:
MacBook-Air:MCVE joepublic$ karma start my.conf.js
21 08 2018 12:39:51.453:WARN [karma]: No captured browser, open http://localhost:9876/
21 08 2018 12:39:51.466:INFO [karma]: Karma v3.0.0 server started at http://0.0.0.0:9876/
21 08 2018 12:39:51.467:INFO [launcher]: Launching browser Chrome with unlimited concurrency
21 08 2018 12:39:51.482:INFO [launcher]: Starting browser Chrome
21 08 2018 12:39:57.270:INFO [Chrome 68.0.3440 (Mac OS X 10.13.4)]: Connected on socket yZegecjIaWSc9KrEAAAA with id 47010677
21 08 2018 12:39:57.507:WARN [web-server]: 404: /Users/joepublic/MCVE/manifest.json
LOG: '/context.html'
LOG: '1'
LOG: 'a'
LOG: 'b'
LOG: '2'
LOG: 0
LOG: ''
LOG: 'Problem reading file'
Chrome 68.0.3440 (Mac OS X 10.13.4) Displaying OBF on the index page Test Name property We can get a manifest file FAILED
Expected 0 not to be less than 1.
at <Jasmine>
at UserContext.<anonymous> (read_data_test.js:30:43)
at <Jasmine>
Chrome 68.0.3440 (Mac OS X 10.13.4): Executed 1 of 1 (1 FAILED) ERROR (0.059 secs / 0.012 secs)
我正在获取404-但是“ ls /Users/joepublic/MCVE/manifest.json”发现文件很好...发生了什么事?
答案 0 :(得分:0)
404: /Users/joepublic/MCVE/manifest.json
URL http://localhost:9876/Users/joepublic/MCVE/manifest.json
是404错误。
但是“ ls /Users/joepublic/MCVE/manifest.json”发现文件很好
这是本地文件系统上的路径。这不是提供的HTTP URL,而是您测试运行的Web服务器正在运行。