Ember保持标识符完整性的最佳实践

时间:2014-11-26 21:46:39

标签: ember.js handlebars.js

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

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

......与相应的控制器......

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

过了一段时间,我可能会因为某种原因决定我需要更改控制器中属性的名称。我在控制器中将'prop'的名称更改为'newProp'。

现在如果我忘记更改模板中的表达式,我有一个问题。如果我理解正确,如果关联的控制器/模型上不存在该名称的属性,则Ember不会抛出错误。如果我理解正确,这是“按设计”,但在这种情况下可能导致回归。

我的问题是:避免这类诚信问题的“最佳做法”是什么?是否有开发工具可以突出这些问题?是否有选项可以在Ember的调试模式下记录此类事件(看不到任何here)?在这些情况下是否有强制Ember强制爆炸的选项(例如,一些钩子可以让我进入属性/表达式解析逻辑)?或者是否需要进行集成测试以检查把手表达式是否正在进行预期的操作?

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

1 个答案:

答案 0 :(得分:2)

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

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

我确定您已经看过这个,但我添加此链接以防万一:http://emberjs.com/guides/testing/