公共方法很少的大型应用测试策略?

时间:2009-01-06 04:05:35

标签: unit-testing testing

我正在开展一个项目,我真的不确定如何进行单元测试。它是一个不显眼的基于标签的框架,用于在GUI系统中连接模型,视图和委托之间的事件。

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

我遇到的问题有两个:

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

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

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

其他人有什么想法吗?

2 个答案:

答案 0 :(得分:2)

  

1)基本上只有一个   框架中的公共方法,   其他一切都是沟通的   通过JSON文件中的标记。   因此我的测试非常小   表面为什么是大和   复杂的应用。

怎么可能?这整个复杂的框架存储在一个类中吗?如果涉及多个课程,他们如何在没有公共方法的情况下共享信息?

顺便说一句,构造函数也是一种公共方法。

您是否只是绕过JSON对象?这会将您的框架与信息源紧密联系起来。你应该有一个解析JSON的类,其余的在不知道数据源的情况下进行通信(通过可测试的公共方法)。

答案 1 :(得分:1)

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