gpt4 book ai didi

javascript - node.js - 用 jasmine 模拟模块

转载 作者:搜寻专家 更新时间:2023-11-01 00:45:23 24 4
gpt4 key购买 nike

我正在尝试为使用 node.js 框架编写的服务器端逻辑编写一些单元测试。我想使用 jasmine 库进行单元测试和模拟,因为我对它有点熟悉。

现在,我尝试了类似这样的方法来模拟文件系统 read 函数:

'use strict';
var loginRedirectMiddleware = require('../server/loginRedirectMiddleware');
var fs = require('fs');
var util = require('../server/util');

describe('loginRedirectMiddleware', function(){
spyOn(fs,'read');
...
});

现在我在调用 spyOn 时遇到错误:

  1) loginRedirectMiddleware encountered a declaration exception
Message:
TypeError: Cannot call method 'spyOn' of null
Stacktrace:
TypeError: Cannot call method 'spyOn' of null
at null.<anonymous> (/home/adebksi/Nauka/js-linkedin-connector/server_test/loginRedirectMiddlewareSpec.js:11:3)
at Object.<anonymous> (/home/adebksi/Nauka/js-linkedin-connector/server_test/loginRedirectMiddlewareSpec.js:10:1)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (/home/adebksi/Nauka/js-linkedin-connector/node_modules/karma/node_modules/coffee-script/lib/coffee-script/coffee-script.js:211:36)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.jasmine.executeSpecsInFolder (/home/adebksi/Nauka/js-linkedin-connector/node_modules/grunt-jasmine-node/node_modules/jasmine-node/lib/jasmine-node/index.js:151:9)
at Object.<anonymous> (/home/adebksi/Nauka/js-linkedin-connector/node_modules/grunt-jasmine-node/tasks/jasmine-node-task.js:110:19)
at Object.thisTask.fn (/home/adebksi/Nauka/js-linkedin-connector/node_modules/grunt/lib/grunt/task.js:78:16)
at Object.<anonymous> (/home/adebksi/Nauka/js-linkedin-connector/node_modules/grunt/lib/util/task.js:282:30)
at Task.runTaskFn (/home/adebksi/Nauka/js-linkedin-connector/node_modules/grunt/lib/util/task.js:235:24)
at Task.<anonymous> (/home/adebksi/Nauka/js-linkedin-connector/node_modules/grunt/lib/util/task.js:281:12)
at Task.start (/home/adebksi/Nauka/js-linkedin-connector/node_modules/grunt/lib/util/task.js:290:5)
at Object.grunt.tasks (/home/adebksi/Nauka/js-linkedin-connector/node_modules/grunt/lib/grunt.js:155:8)
at Object.module.exports [as cli] (/home/adebksi/Nauka/js-linkedin-connector/node_modules/grunt/lib/grunt/cli.js:38:9)
at Object.<anonymous> (/home/adebksi/.nvm/v0.10.15/lib/node_modules/grunt-cli/bin/grunt:41:20)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:901:3

我想知道我做错了什么?

当我执行 console.log(typeof fs.read) 时,我得到了 function 所以这个属性是一个函数。

最佳答案

好吧,原来是我的错,我试图在 describe 函数中创建 spy ,我应该把它作为示例放在 it 中。

关于javascript - node.js - 用 jasmine 模拟模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20190611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com