函数参数无法在Node.JS Jasmine测试中执行

时间:2016-05-24 14:21:27

标签: javascript node.js jasmine

我正在尝试执行一个在我的Jasmine测试中作为参数传入的函数。

我在这个for循环中调用我的函数,但得到"TypeError: barbican_function is not a function"

/************************************************************************
Stress Test Code to Test High Request Hits To API Endpoint
**************************************************************************/
//Stress Test for Key Retrieval
var stressTestRunner = function(barbican_function) {
  describe("Stress test", function() {
    it("Send X requests to single key", function(done) {
        for (var x = 0; x < requestsToHit; x++) {
          barbican_function();
        }
        done();
    })
  })
};

stressTestRunner(stressTest_retrieve_secret());




function stressTest_retrieve_secret() {

   //My code here
};

1 个答案:

答案 0 :(得分:3)

由于这一行:

stressTestRunner(stressTest_retrieve_secret());

你正在调用函数并传入函数的返回值。

你最有可能的意思是:

stressTestRunner(stressTest_retrieve_secret);
传递函数引用的

调试提示:下次出现这样的错误时,打开浏览器的调试工具并在代码上加一个断点。这将让你检查各种变量和参数,看看发生了什么。