它是UNIT测试还是集成测试?

时间:2010-11-24 11:17:18

标签: android unit-testing tdd

我正在开展一个学校项目,我正在研究Android应用程序的测试可能性。

在此页面上:http://developer.android.com/resources/tutorials/testing/helloandroid_test.html Google撰写有关单元测试的文章。 这真的是一个单元测试吗?单元测试不会集成所有类,也不会在此上下文中进行测试。

所以我的观点是,它不是单元测试而是集成测试。 你觉得怎么样?

3 个答案:

答案 0 :(得分:2)

我认为对单元测试的内容没有任何普遍的共识,所以很难说。虽然有些人可能认为它应该是一个非常小的代码单元(例如方法),但这是非常有限的,特别是考虑到当你重构通过测试时,你可能会把这些代码放到多个方法甚至类中。

Roy Osherove's definition如下:

  

单元测试快速,内存中,   一致,自动化和可重复   对功能性工作单元的测试   系统。

     

工作单位是任何功能   包含的系统中的场景   逻辑。它可以像a一样短   功能,或它可以跨越多个   类和函数,它提供   内部或商业价值   被测系统。

IMO是“快速”和“内存中”的主要因素,它将其与集成测试区分开来。如果你这样做,那么我认为google测试确实是单元测试。

答案 1 :(得分:1)

如果出现以下情况,则测试不是单元测试:

  • 与数据库对话
  • 通过网络进行通信
  • 它触及文件系统
  • 它不能与任何其他单元测试同时运行
  • 您必须对您的环境执行特殊操作(例如编辑配置文件)才能运行它。

答案 2 :(得分:0)

你好,那里的编码员。

我想补充一点,根据我的经验,最好测试一个对象的行为,如果它做了你需要做的事情(针对你的问题域),无论是一种方法还是更多来传递你的测试。 我知道这可能听起来像是简单的测试方法,但还有更多。 一本好书可以帮助理解这一点,是由Nat Pryce和Steve Freeman撰写的“以测试为导向的面向对象软件”。

总而言之,好问题和好答案。 保持。 : - )