Backbone - 测试视图 - 如何处理baseview?

时间:2016-03-29 18:30:00

标签: unit-testing backbone.js

我想测试一个Backbone.js视图。所有相当通用的视图方法(获取模板,获取模型数据,呈现HTML)都存储在我的大多数视图扩展的基础视图中。

问题1:由于两者 - 测试视图和基本视图 - 是分开的,这是否意味着我不需要测试视图的渲染方法,因为baseview的测试应该涵盖这个?或者我应该测试每个视图的渲染方法,即使这会回到基本视图中定义的方法,也可以测试两者如何一起玩?

问题2:我不确定如何孤立地测试基本视图。如果另一个视图扩展了它,则需要设置模板名称以使baseview工作。我是否应该只是模拟模板或将此视图视为无法单独测试的抽象类?

1 个答案:

答案 0 :(得分:1)

免责声明:测试是一门艺术,我不认为这是一个显而易见的“最好的”#34;回答这里。但这就是我要做的事情:

  1. 我会测试所有内容:测试基本视图和所有继承视图。毕竟,你怎么知道你的继承视图与基本视图共享相同的渲染方法?随着项目的发展,您可能会发现自己继承的视图发生了变化 - 但您可能希望确保所有视图始终呈现!

  2. 我会将基本视图作为自己的实例化对象进行测试,即使这不是您在应用程序中使用它的方式。如果需要为基本视图设置模板,请设置模板!我认为你不需要"模拟"模板 - 也许您可以使用underscore's _.template function