我正在使用 Mocha 框架和SuperAgent模块测试服务器(不是我做的),但是我需要测试服务器 Ouath 协议。我找到了superagent-oauth模块以发出签名请求。
但是,当我需要该模块时,出现以下错误
TypeError: Object.keys 在非对象上调用
我的代码遵循 superagent-oauth 存储库中的自述文件,它是
var superagent = require('superagent');
var log = require('./log.js');
var Oauth = require('node-oauth');
var oauth = new Oauth({..});
require('superagent-oauth')(superagent);
然后在运行测试时,我得到了 TypeError: Object.keys 在非对象上调用。
使用超级代理时,我只是这样做
var superagent = require('superagent');
agent = superagent.agent();
但我不知道如何使用/需要 superagent-oauth 模块。那么正确的方法是什么?谢谢
添加了跟踪
2) Login 'Username:Password' test: POST with a valid logins logins into AM with a valid login: TypeError: Object.keys called on non-object at Function.keys (native) at Request.query (/home/maldo /testingAM/node_modules/superagent-oauth/superagent-oauth.js:22:23) 在上下文中。(/home/maldo/testingAM/loginUserPass.js:74:6) 在 Test.Runnable.run (/home/maldo/node_modules/mocha/lib/runnable.js:196:15) 在 Runner.runTest (/home/ maldo/node_modules/mocha/lib/runner.js:343:10) 在 Runner.runTests.next (/home/maldo/node_modules/mocha/lib/runner.js:389:12) 在下一个 (/home/maldo/ node_modules/mocha/lib/runner.js:269:14) 在 Runner.hooks (/home/maldo/node_modules/mocha/lib/runner.js:278:7) 在下一个 (/home/maldo/node_modules/mocha/ lib/runner.js:226:23) 在 Runner。
我总是在代理的 .query() 状态中多次在文件 loginUserPass 中获得此跟踪。当我在 OauthAM.js 中添加 superagent-ouath 要求时会发生这种情况。