【发布时间】:2014-11-24 21:13:39
【问题描述】:
我正在尝试在 Rails 应用程序中使用 Jasmine 测试嵌套在 jQuery 函数中的 JavaScript 函数,如下所示:
jQuery(函数(){ var javascriptFunction = 函数 () { ...功能正在测试中... } }
当我运行 Jasmine 测试时,我收到以下错误:“ReferenceError: Can't find variable: javascriptFunction”
如果我将 JavaScript 函数放在 jQuery 函数之外,我将不再收到该错误;但是,该 JavaScript 函数需要保留在 jQuery 函数中,以便应用程序的其余部分正常工作。
有没有办法指定 Jasmine 在 jQuery 函数中查找 JavaScript 函数?
【问题讨论】:
-
我认为没有。但在这种情况下,您可以测试此函数正在执行的操作的结果。例如。如果它正在设置数据,请确保其设置正确。在这种情况下需要测试公共接口
-
要做到这一点,难道我还需要调用外部 jQuery 方法来设置数据吗?我试图命名 jQuery 方法并在 Jasmine 测试中调用它,但收到了同样的错误。
-
你能把一个具体的例子放到 JSFiddle 中,然后把 url 粘贴到这里吗?
-
这里是没有命名jQuery函数的版本:jsfiddle.net/825oqhy3这里是命名的版本:jsfiddle.net/ad5kp3dv
-
那么在该示例中如何调用 selectIsAcCheckbox?
标签: javascript jquery ruby-on-rails jasmine