gpt4 book ai didi

java - Reg - 单元测试和技术知识

转载 作者:太空宇宙 更新时间:2023-11-04 14:12:47 26 4
gpt4 key购买 nike

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

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

请提出您的建议。谢谢。

最佳答案

对我来说,单元测试是两个截然不同的事情,具体取决于您是否在编写代码之前编写测试以使它们通过(测试驱动开发),或者您是否在编写被测代码后尝试验证某些行为。经过一些练习后,前者可以很容易地进行,而后者通常会非常具有挑战性(特别是如果代码开发时没有考虑到可测试性)!

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

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

关于java - Reg - 单元测试和技术知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28094909/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com