0

AngularJS アプリケーションの単体テストに取り組んでいます。特定のスイートに取り込みたいテスト ケースの CSV ファイルがありますが、Jasmine、Karma、または Node について一般的に十分に理解していないため、その方法を理解することができません。csvパッケージをインストールする必要があると思いますが、インストールが完了すると、アクセス方法がわかりません。

パッケージの説明ではcsvRequireJS を使用していますが、RequireJS を angular-seed に統合するコードの例は見たことがありません。Karma のサイトのこのページでは、現在使用している angular-seed とはまったく異なるアプリケーション構造/フローについて説明しています。

編集:私がインストールした marfarma の回答のおかげで、残りのケースでkarma-browserifynode.js スタイルにアクセスできるようになりました。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 に関するいくつかのチュートリアルを次に示します。

また、ブラウザからファイルシステムから直接読み取ることができないため、次のように、angular アプリと一緒に 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() {
  ...
});
于 2014-02-04T08:56:58.237 に答える