我在做什么:

我正在使用茉莉花来测试我的javascript函数。我的describe函数及其函数位于不同的文件中。

我想做的事:

我正在尝试传递参数来描述功能,但出现错误。

我的代码:

describe("Test file-utils funtions",fileUtilsFunc("abc"))
// Getting Error: describe expects a function argument; received [object Undefined]


不允许传递“ abc”参数。

最佳答案

可能的问题

描述期望两个参数:


带有测试套件说明的字符串
包含测试用例的函数(即包含“ it”部分)


在您的代码中,您正确地传递了前者,但是后者不是函数的名称,而是将被求值的函数调用。除非您的fileUtilsFunc函数返回另一个函数,否则它将不起作用。 fileUtilsFunc返回undefined似乎是您的代码有问题。



您应该尝试通过测试用例传递函数:

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()之间的区别。

10-08 17:03