【问题标题】:Reg - Unit Testing and Technology KnowledgeReg - 单元测试和技术知识
【发布时间】:2015-01-23 01:53:59
【问题描述】:

我是单元测试的新手,我主要从事自动化功能测试(前端使用 - Selenium 和 Jmeter)。

我想知道我是否需要通过查看代码来对基于 Java 的 Web 应用程序进行单元测试,那么我是否应该对以下底层技术有清晰的了解:servlet、jsp、ejb 和设计模式;应用程序是基于哪个构建的?还是仅了解 Core Java 就足以查看代码并理解它们并在 junit 中编写单元测试?

请提供您的建议。谢谢。

【问题讨论】:

    标签: java unit-testing


    【解决方案1】:

    对我来说,单元测试是两件非常不同的事情,这取决于您是在编写代码以使其通过之前编写测试(测试驱动开发),还是在代码之后尝试验证某些行为under test 已经写好了。前者在经过一些练习后可以轻松完成,而后者通常会非常具有挑战性(尤其是在开发代码时没有考虑到可测试性)!

    如果我怀疑您将测试已经编写的代码,那么 Michael Feathers 的Working Effectively With Legacy Code 是一个很好的研究资源。在书中,Feathers 非常详细地描述了如何围绕代码进行测试,以便可以安全地修改和扩展代码,而不会无意中改变行为。他描述的许多测试将是单元测试,但其他可能是集成测试——在他的案例中,目标是能够在代码中安全地工作。无论如何,他为与测试相关的开发引入了丰富的词汇,并提供了很好的测试策略,任何参与软件测试的人都会有兴趣阅读。

    关于要了解的工具,我建议学习一个模拟对象库,例如 JMockitMockito。无论您是在测试 servlet、EJB 还是其他任何东西,两者的知识都将非常有用。他们的目的是代表合作课程,以便他们准确地提供以有趣的方式锻炼测试对象所需的结果,而不会过度旋转以使实际的合作者处于正确的状态以实现相同的目标。就个人而言,我喜欢 JMockit,如果你必须为已经存在的代码编写测试,我会说它是必不可少的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 2011-09-29
      相关资源
      最近更新 更多