我在做什么:
我正在使用Jasmine来测试我的javascript函数。我的描述函数和它函数在不同的文件中。
我想做什么:
我正在尝试传递参数来描述函数,但出现错误。
我的代码:
describe("Test file-utils funtions",fileUtilsFunc("abc"))
// Getting Error: describe expects a function argument; received [object Undefined]
它不允许传递"abc"参数。
可能的问题
描述需要两个参数:
- 包含测试套件说明的字符串 包含
- 测试用例的函数(即包含"它"部分(
在您的代码中,您正确地传递了前者,但后者不是函数的名称,而是将被评估的函数调用。除非你的fileUtilsFunc函数返回另一个函数,否则它将无法工作。fileUtilsFunc返回未定义似乎是您的代码存在问题。
溶液
您应该尝试使用测试用例传递函数:
describe("Test file-utils funtions",fileUtilsFunc)
function fileUtilsFunc() {
it("Test case name", function() {/*test case code*/});
}
或返回带有测试用例的函数的函数:
describe("Test file-utils funtions",fileUtilsFunc())
function fileUtilsFunc() {
return function() {
it("Test case name", function() {/*test case code*/});
}
}
请注意第一个示例中的fileUtilsFunc和第二个示例中的fileUtilsFunc((之间的差异。