当我编写Web界面时,它仍然是单元测试吗?

时间:2015-02-20 08:11:27

标签: unit-testing

我有一个更普遍的问题: 假设我有一个Web应用程序,例如使用Struts2 Framework。 因此,为函数编写单元测试变得非常复杂,因为您必须模拟框架的每个方面。 数据库+连接,会话,LDAP连接或其他任何需要的东西,我自己都没有写过 编写单元测试会更容易,因为它们在Base-Application中的WebInterface中运行,因为所有这些事情都已存在。

问题:

你们还会把它当作单元测试吗?

2 个答案:

答案 0 :(得分:2)

一些想法......

问题非常笼统。我的建议是你仍然想要编写某种单元测试,原因有很多。首先,您可以将它们作为自动化测试套件运行,因此如果出现问题,您可以快速了解。其次,你得到了一个更好的设计系统 - 你的对象松散耦合。您对编写的代码更有信心。

如果您的框架难以测试,

一个。尝试抽象出一些依赖关系,这样就可以注入代码而不会干扰真实实例。 湾使用可以破坏任何紧密耦合的更难依赖的测试框架。

难以提供全面的答案,但这是大方向,我建议。

答案 1 :(得分:0)

您应该首先考虑您真正想要测试的内容。根据其定义,框架将使用您提供的类来做一些“魔术”#34;。你想测试已经过测试过的" magic"或者您编程的应用程序的业务核心?。

另外,您应该考虑的是停止测试的地方。您可能不想测试与数据库的连接(考虑您所写的内容),所以只需要模拟它。

考虑到你当时只需要测试一个功能,不要想到在同一个测试中有数据库连接和ldap,它不会是单位测试

另请参阅本教程:http://tutorials.jenkov.com/java-unit-testing/index.html