IE中的单元测试事件处理程序

时间:2011-10-11 12:07:53

标签: javascript unit-testing event-handling tdd automated-tests

我的部分应用程序仅在某些情况下阻止对事件的默认操作。我正在严格地使用TDD,所以我需要测试在正确的时间阻止默认事件。这在大多数现代浏览器中都很容易,因为dispatchEvent等将触发我的事件处理程序和默认值,我可以测试是否发生了默认事件(哈希更改)。 IEs fireEvent不会这样做...它只会触发我的处理程序,所以没有办法测试它是否应该按原样完成而不会在某处发生手动点击。

我的事件处理程序没有公开,即使它是,测试它是否返回false将有点太接近测试实现。是否有一本教科书处理这个我缺少的方法?

1 个答案:

答案 0 :(得分:0)

浏览器在网页中执行的JavaScript是沙箱,无法访问native event queue等内容。使用原生IE Automation Controls来满足您的需求,或将其作为Internet Explorer Driver等软件包的一部分,作为完整的解决方案。