Android 它是单元测试还是集成测试?
我正在做一个学校项目,我正在研究Android应用程序的测试可能性 在这一页上:谷歌写了关于单元测试的文章。 这真的是单元测试吗?单元测试不会集成所有类,也不会在此上下文中进行测试 所以我的观点是,它不是一个单元测试,而是一个集成测试。Android 它是单元测试还是集成测试?,android,unit-testing,tdd,Android,Unit Testing,Tdd,我正在做一个学校项目,我正在研究Android应用程序的测试可能性 在这一页上:谷歌写了关于单元测试的文章。 这真的是单元测试吗?单元测试不会集成所有类,也不会在此上下文中进行测试 所以我的观点是,它不是一个单元测试,而是一个集成测试。 你怎么看?我认为对于什么是单元测试没有任何共识,所以很难说。虽然有些人可能会认为它应该是一个非常小的代码单元(例如,一个方法),但这是相当有限的,特别是考虑到当您重构一个通过的测试时,您可能会将该代码放入多个方法甚至类中 详情如下: 单元测试是一种快速的内存测试
你怎么看?我认为对于什么是单元测试没有任何共识,所以很难说。虽然有些人可能会认为它应该是一个非常小的代码单元(例如,一个方法),但这是相当有限的,特别是考虑到当您重构一个通过的测试时,您可能会将该代码放入多个方法甚至类中 详情如下: 单元测试是一种快速的内存测试, 一致性、自动化和可重复性 工作单元的功能测试 系统 工作单元是任何功能性的 包含的系统中的场景 逻辑。它可以短到一个字母 函数,或者它可以跨越多个 类和函数,并提供 对客户的内部或业务价值 正在测试的系统
在我看来,“快速”和“内存中”是将其与集成测试区分开来的主要因素。如果你这么说的话,那么我认为谷歌测试确实是单元测试。大家好 我想补充一点,根据我的经验,最好测试一个对象的行为,如果它做了您需要它做的事情(对于您的问题域),无论它是一个方法还是多个方法来通过您的测试。 我知道这听起来像是简单的测试方法,但还有更多。 Nat Pryce和Steve Freeman撰写的《由测试引导的不断增长的面向对象软件》是一本有助于理解这一点的好书 总而言之,好问题,好答案。
继续保持下去。:-) 在以下情况下,测试不是单元测试:
- 它与数据库通信
- 它通过网络进行通信
- 它涉及到文件系统
- 它不能与任何其他单元测试同时运行
- 您必须对您的环境执行特殊操作(例如编辑配置文件)才能运行它