我在Java环境中使用eclipse。我必须向一个已经在进行中的项目引入测试。如何开始?对类进行单元测试,还有什么呢?做这项工作最好的工具是什么(考虑到我正在使用eclipse)?TestNG,JUnit,JTiger?
我如何让其他人适应使用这些测试?
提前感谢!
发布于 2011-07-19 03:58:55
Eclipse对JUnit有很好的支持。这看起来是一个很好的起点。我会添加一个新的源代码目录test,并创建一个镜像src文件夹的包结构。然后,您可以逐个添加您的单元测试。祝好运!
发布于 2011-07-19 03:58:39
除非您的团队已经习惯了编写测试,否则测试所有旧的组件是不可行的(有时甚至不可行),因为编写可测试的软件需要特定的心态。
我认为,开始编写测试的最好时机是定义一些新的组件,这些组件足够关键,可以保证额外的工作,但不知何故是新的,所以已经存在的代码库将不会被测试那么多。
这样你就可以找到一种测试方法,识别好处并学习心态,而不会在可能对你的团队不起作用的事情上投入太多精力。
关于工具:遗憾的是,我不能真正比较不同的工具,因为我只有JUnit的经验。
JUnit很容易上手,因为相应的工具已经包含在Eclipse中(用于创建模板、运行和评估选项的向导),并且网上有大量的文档和示例。
发布于 2011-07-19 04:07:20
JUnit和TestNG都很好。TestNG有更多的功能,可以帮助进行集成测试,而JUnit更专注于单元测试。
你可能想要熟悉像Mockito这样的模仿库。Cobertura等代码覆盖工具和Jenkins等持续集成工具也很棒。
使用像Spring或Guice这样的依赖注入框架有助于编写更容易测试的代码。无论您是否使用DI框架,您的代码越是松散耦合,就越容易测试。由于你的项目已经在进行中,这一部分可能太晚了,这将使你的任务变得更加困难。
让同事配合测试是非常困难的。您可能想要有选择地介绍它,在它可以产生最大差异的部分。为已经完成的功能编写测试通常是痛苦和浪费时间的。测试应该很小,依赖项很少,容易理解,并且应该运行得很快。编写测试、运行测试和修复失败的测试的过程越痛苦,您就会遇到越多的阻力。
https://stackoverflow.com/questions/6738248
复制相似问题