0

我想用 nodeunit 测试我的库,并在其中使用FileObject,在网站上一切正常(FileAPI 在那里实现)但是当我尝试用 nodeunit 测试它时出现错误:

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 函数,但仍然不知道为什么?

4

1 回答 1

0

var asd = new gsc.upload.Data(file);不是异步函数吗?然后可能应该在上传回调中调用 asd.isFileTypeCorrect() 。您还将 isFileTypeCorrect 函数定义为模块导出并在其内部调用自身。不是无限循环吗?

于 2016-03-11T14:09:04.280 回答