javascript - jasmine-node写单元测试方法not defined的问题
高洛峰
高洛峰 2017-04-11 13:02:18
[JavaScript讨论组]

powOfTwo.js代码

exports.judge = function (a) {  
    if(a == 2) {
        return true;
    }
    if(a % 2) {
        return false;
    }else {
        a = a / 2;
        return judge(a);
    }
}

测试代码:

var powerOfTwo = require('../powerOfTwo.js');

describe('basic test', function(){
    it('test sample', function() {
        expect(powerOfTwo.judge(16)).toBe(true);
        expect(powerOfTwo.judge(12)).toBe(false);
        expect(powerOfTwo.judge(1024)).toBe(true);
    })
})

报错:

$ jasmine-node powerOfTwo-spec.js
F

Failures:

  1) basic test test sample
   Message:
     ReferenceError: judge is not defined
   Stacktrace:
     ReferenceError: judge is not defined
    at Object.exports.judge (D:\vanilla-javascript\powerOfTwo.js:9:16)
    at . (D:\vanilla-javascript\spec\powerOfTwo-spec.js:5:27)

Finished in 0.065 seconds
1 test, 1 assertion, 1 failure, 0 skipped
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
PHP中文网

powOfTwo.js 的最后一个 else 引用变量 judge

PHP中文网

感觉不是 else 里面递归调用 judge 的事儿。

只用 exports 应该是不会 export function 的。。试试用 module.exports 直接 export

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号