繁体   English   中英

使用nodeunit测试JavaScript库-FileApi,substr未定义

[英]Testing JavaScript libraries with nodeunit - FileApi, substr undefined

我想用nodeunit测试我的库,并在其中使用File Object,在网站上一切正常(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错误的Fatal error: Cannot read property 'substr' of undefined ,这是什么问题? 编辑:substr的问题可能来自isShapefileCorrect函数,但仍然不知道为什么?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM