Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何测试必须使用TestCular和jasmine呈现的HTML_Angularjs_Jasmine_Karma Runner - Fatal编程技术网

Angularjs 如何测试必须使用TestCular和jasmine呈现的HTML

Angularjs 如何测试必须使用TestCular和jasmine呈现的HTML,angularjs,jasmine,karma-runner,Angularjs,Jasmine,Karma Runner,我想测试一个指令是否将正确的jquery函数绑定到DOM,以及它们是否工作 例如,我想测试一个元素在使用$.slideUp()向上滑动后是否可见,或者我想对html输入执行一个单击事件 似乎我需要以某种方式将编译后的指令附加到DOM以实现这一点。我看过他说这是可能的,但他没有提到你是如何做到的 我有点困了 以下是失败测试的链接:两件事: 首先,如果希望将jQuery与Angular一起使用,则需要在Angular之前加载它,因此将其脚本标记移动到Angular之前 其次,将指令附加到DOM是正确

我想测试一个指令是否将正确的jquery函数绑定到DOM,以及它们是否工作

例如,我想测试一个元素在使用$.slideUp()向上滑动后是否可见,或者我想对html输入执行一个单击事件

似乎我需要以某种方式将编译后的指令附加到DOM以实现这一点。我看过他说这是可能的,但他没有提到你是如何做到的

我有点困了

以下是失败测试的链接:

两件事:

首先,如果希望将jQuery与Angular一起使用,则需要在Angular之前加载它,因此将其脚本标记移动到Angular之前

其次,将指令附加到DOM是正确的。在每次调用之前的
中,可以使用jQuery创建主机div,然后在每次调用之后的
中删除该div

也就是说,您只需要在DOM中使用div来检查可见性,我甚至不确定在大多数情况下是否需要这样做。例如,您可以使用Sinon监视
slideUp
调用,以确保它发生,并依赖jQuery的测试来确定它是否实际工作

而且,只要使用jQuery调用
elm.click()
,就可以直接触发单击