用于维护标识符完整性的 Ember 最佳实践



假设我有一些简单的模板代码...

{{#if prop}}
    <h1>Hi!</h1>
{{/if}}

。带有相应的控制器...

App.MyController = Ember.ObjectController.extend({
    prop: true
});

一段时间后,无论出于何种原因,我可能会决定需要更改控制器中的属性名称。我在控制器中将"prop"的名称更改为"newProp"。

现在,如果我忘记更改模板中的表达式,我就有问题了。如果我理解正确,如果关联的控制器/模型上不存在该名称的属性,Ember 不会引发错误。如果我理解正确,这是"设计使然",但是在这种情况下可能会导致回归。

我的问题是:避免此类诚信问题的"最佳实践"是什么?是否有开发工具可以突出这些问题?是否有选项可以在 Ember 的调试模式下记录此类事件(此处看不到任何内容)?在这些情况下,是否有强制 Ember 爆炸的选项(例如,一些让我利用属性/表达式解析逻辑的钩子)?还是留给集成测试之类的事情来检查车把表达式是否正在执行预期的事情?

动机:作为一个 Ember 新手,我发现我在这些早期阶段进行了很多重构。我想要某种不错的"安全网",以便我知道在进行这些重构后,所有模板表达式都会继续解析为定义的内容。

你是对的,确保你的模板渲染它们应该通过集成测试完成的所有内容。

若要验证属性解析和业务逻辑是否正确,请为控制器添加单元测试。

我相信你已经看到了这个,但我添加这个链接以防万一:http://emberjs.com/guides/testing/

最新更新