ライブラリをノードユニットでテストしたいのですが、その中File
でオブジェクトを使用しています。ウェブサイトではすべてが機能しています(FileAPIが実装されています)が、ノードユニットでテストしようとするとエラーが発生します:
Fatal error: File is not defined
追加する必要があると思います:
var FileAPI = require('file-api');
var File = FileAPI.File;
コードの始まりですが、そのライブラリをウェブサイトに含めるときは必要ありません。nodeunit を使用するには、最後に module.exports を追加する必要がありましたが、これも必要ですか? (github のコードサンプル)
さらに、このコードをテストしようとすると: https://github.com/GeoSmartCity-CIP/gsc-client/blob/feature/upload-data-file/src/upload/upload.js
このテストで:
var gsc = require('../../src/upload/upload');
var FileAPI = require('file-api');
var File = FileAPI.File;
var exports = exports || {};
exports.isFileTypeCorrect = function(test) {
var file = new File('test.geojson');
var asd = new gsc.upload.Data(file);
test.ok(asd.isFileTypeCorrect(), 'this assertion should pass');
test.done();
};
Fatal error: Cannot read property 'substr' of undefined
エラーが発生しました。何が問題なのですか? 編集: substr の問題はおそらく isShapefileCorrect 関数によるものですが、それでも理由がわかりませんか?