我有一个我试图测试的表单有多个输入。输入保存模糊,然后验证表单并检查是否有任何字段是脏的并保存。
问题在于,无论我尝试什么,我都无法让表单在测试中看起来像脏。我试过了
element.querySelector('#id').value = 'Text';
我尝试更新表单从中获取数据的实际对象(我认为这是更新模型)没有骰子。
我看到angular2 repostiory中有一个dispatchEvent方法允许你将输入发送到一个元素,但是在angular2 / testing_internals中,所以它不能在外部项目中导入。有关如何欺骗表单以认为它在单元测试中接收输入的任何想法?
另一方面,当我在谷歌搜索时,ng2单元测试的文档非常差。你知道有什么好的网站吗?
答案 0 :(得分:3)
设置值后,从元素中调度input
事件。
https://plnkr.co/edit/SyYbKLBtsTL645rSUjAS?p=preview
虽然来自src
的文件不是公共API,但它包含一个方便的
import {dispatchEvent} from 'angular2/testing_internal';
允许简单地
dispatchEvent(password, 'input');
另见