我正在为反应形式编写测试。
app.form.get('name').setValue('new value');
expect(app.form.get('name').value).toEqual('new value');
fixture.detectChanges();
expect(app.form.get('name').value).toEqual('new value'); // <-- Fails.
我调试了它。我看到detectChanges
在测试中管理表单值的正确方法是什么?
答案 0 :(得分:0)
您写的测试可能会由于以下原因而失败:
fixture.detectChanges();
将执行ngOnInit
方法,如果您要在该生命周期挂钩中实例化app.form
值,
然后所有字段将再次获得默认值以及您之前使用以下方法设置的值:
app.form.get('name').setValue('new value');
将被覆盖,并且您在expect(app.form.get('name').value).toEqual('new value'); // <-- Fails.
中的测试将失败。