我正在尝试执行一个在我的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
};
答案 0 :(得分:3)
由于这一行:
stressTestRunner(stressTest_retrieve_secret());
你正在调用函数并传入函数的返回值。
你最有可能的意思是:
stressTestRunner(stressTest_retrieve_secret);
传递函数引用的。
调试提示:下次出现这样的错误时,打开浏览器的调试工具并在代码上加一个断点。这将让你检查各种变量和参数,看看发生了什么。