Jasmine:如何通过测试套件功能来描述方法?



我在做什么:

我正在使用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((之间的差异。

最新更新