我正在为AngularJS应用程序进行单元测试。我有一个测试用例的CSV文件,我想把它放到一个特定的套件中,但是我对Jasmine,Karma或Node一般都不熟悉,不知道如何做到这一点。我想我需要安装csv软件包,但一旦完成,我不清楚如何访问它。
csv
包的说明使用RequireJS,但我没有看到将RequireJS集成到angular-seed中的代码示例。 Karma网站上的This page描述了一种完全不同的应用程序结构/流向角度种子,我目前正在使用它。
编辑:感谢marfarma的回答我安装了karma-browserify
,现在可以在我的其他情况下访问node.js-style require
。但是,文件系统似乎已被打破:
describe("MyController", function() {
var fs = require('fs');
console.log(fs, fs.readFile);
});
将打印:
LOG: Object{exists: undefined}, undefined
这是使用PhantomJS
运行的 - 是否只是在编写测试以在浏览器中运行时我无法访问文件系统?
答案 0 :(得分:0)
您链接到的csv包使用node.js样式。 Browserify支持在浏览器中使用它们。这里有一些关于Browserify& amp;的教程。 Angularjs:
而且,由于您无法直接从浏览器中读取文件系统,请将您的csv文件与角度应用程序一起提供,例如:
var request = require('request');
var done = false;
request("http://localhost:8080/data.csv", function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // body is the csv data -- parse and save for later use
}
done = true;
})
waitsFor(function() {
return done;
}, "csv data fetch never completed.", 10000);
// use it
describe('it should work',function() {
...
});