如何在浏览器之外使SPA可测试?

时间:2014-08-11 17:39:14

标签: javascript unit-testing

我有一个SPA,可以从服务器中提取配置数据,并生成一个用户可以继续填写的表单。

我希望能够在浏览器之外使这个SPA可测试,这意味着视图及其实现不会被测试。

目前,表单的结构如下:

form
    page 1
        firstName
        lastName
    page 2
        email

有一个表单模型,它保存表单及其配置的数据,然后有一个控制器和一个视图。控制器将模型中的数据直接附加到视图中,并根据事件操纵视图。该视图还具有用于创建和控制某些方面的逻辑,例如内联滚动条(iScroll)。

正如您可能看到的,这使得无法在没有浏览器的情况下测试代码,因为代码与视图紧密耦合。

我认为解决问题的方法是拥有一个控制器,一个控制器模型,一个视图,然后是一个将它们连接在一起的具体类,同时为控制器提供表单配置。但这引发了一些问题,特别是我需要一个工厂来为表单,页面和字段创建一个控制器,然后在视图和控制器之间创建具体的绑定器,然后将它们连接起来的东西。一起以正确的方式。

我觉得必须有更好的方法来做到这一点。

非常感谢任何指导。

1 个答案:

答案 0 :(得分:0)

我认为你需要的是AngularJS。你可以用git克隆一个模板。它具有开箱即用的可测试功能。我不认为有必要重新发明轮子,因为已经有一个众所周知的框架有这个。