2009-01-06 38 views
2

我正在做一个项目,我真的不知道如何进行单元测试。这是一个不引人注目的基于标签的框架,用于在GUI系统中为模型,视图和代表之间的事件进行布线。用很少的公共方法测试大型应用程序的策略?

基本上你有一个大的json文件,用来描述所有的事件,事件处理程序和绑定。用户创建他们的模型,视图和委托,所有这些都不知道框架。 JSON文件传递给一个init()方法,那么框架创建所需的所有实例,并采取所有绑定,监听器等

我有这些问题的护理有两个方面:

1)框架中基本上只有一个公共方法,其他所有内容都通过JSON文件中的标记进行通信。因此,对于大型复杂的应用程序,我有一个非常小的测试表面。

2)应用程序的一个重要角色是实例化类,如果它们以前没有被实例化和缓存。这意味着我在测试代码中需要真正的类,简单的模拟不会削减它。

目前我正在考虑一对夫妇,如果解决方案。首先是开始测试私有方法。第二个是只存根构造函数。

其他人有什么想法?

回答

1

列出系统的功能(场景,用例,任何你想调用它们的),并为每个功能建立JSON数据/框架。这些是你的单元测试。

+0

通过这个我认为你的意思是公开处理JSON特定部分的方法,然后为它们编写规范,只传递他们感兴趣的JSON部分? – ChrisInCambo 2009-01-06 04:15:18

+0

@ [ChrisInCambo]我不知道那个细节的水平克里斯,我还没有看到你的软件! ;-)从你的描述来看,它听起来像是JSON数据作为所有其他事物的一般配置,所以模型场景就是这样。 – 2009-01-06 04:40:14

2

1)基本上是在框架中只有一个 公共方法, 一切是通过JSON文件中加价传达 。 因此我有一个非常小的测试 表面为什么是大的和 复杂的应用程序。

这怎么可能?这是整个复杂的框架存储在一个类?如果涉及多个类别,他们如何在没有公共方法的情况下共享信息?顺便说一下,构造函数也是一种公共方法。

你只是传递JSON对象吗?这会将您的框架与信息源紧密耦合。您应该有一个类解析JSON,其余的通信不知道数据源(通过可测试的公共方法)。