0

我正在为 AngularJS 应用程序进行单元测试。我有一个测试用例的 CSV 文件,我想将其放入一个特定的套件中,但我对 Jasmine、Karma 或 Node 不太熟悉,无法弄清楚如何做到这一点。我想我需要安装csv包,但是一旦完成,我就不清楚如何访问它。

csv包的说明使用 RequireJS,但我还没有看到将 RequireJS 集成到 angular-seed 中的代码示例。Karma 网站上的这个页面描述了我目前使用的与 angular-seed 完全不同的应用程序结构/流程。

编辑:感谢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- 在编写测试以在浏览器中运行时我将无法访问文件系统的简单情况吗?

4

1 回答 1

0

您链接到的 csv 包需要使用 node.js 样式。 Browserify支持在浏览器中使用它们。以下是一些关于 Browserify 和 Angularjs 的教程:

而且,由于您无法从浏览器中直接从文件系统中读取数据,请将 csv 文件与 Angular 应用程序一起提供,例如:

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() {
  ...
});
于 2014-02-04T08:56:58.237 回答