- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是单元测试的新手,主要从事自动化功能测试(前端使用 - Selenium 和 Jmeter)。
我想知道我是否需要通过查看代码来对基于 Java 的 Web 应用程序进行单元测试,那么我是否应该对底层技术有清晰的了解,例如:servlet、jsp、ejb 和设计模式;应用程序是基于什么构建的?或者仅拥有 Core Java 知识就足以查看代码并理解它们并在 junit 中编写单元测试吗?
请提出您的建议。谢谢。
最佳答案
对我来说,单元测试是两个截然不同的事情,具体取决于您是否在编写代码之前编写测试以使它们通过(测试驱动开发),或者您是否在编写被测代码后尝试验证某些行为。经过一些练习后,前者可以很容易地进行,而后者通常会非常具有挑战性(特别是如果代码开发时没有考虑到可测试性)!
如果正如我怀疑的那样,您将测试已经编写的代码,那么值得研究的一个很好的资源是 Michael Feathers 的 Working Effectively With Legacy Code 。在书中,Feathers 详细描述了如何对代码进行测试,以便可以安全地修改和扩展代码,而不会无意中改变行为。他描述的许多测试将是单元测试,但其他测试可能是集成测试——他的例子的目标是能够在代码中安全地工作。无论如何,他介绍了与测试相关的开发的大量词汇,并提供了良好的测试策略,任何参与软件测试的人都会有兴趣阅读。
关于要了解的工具,我建议学习模拟对象库,例如 JMockit或Mockito 。无论您是在测试 servlet、EJB 还是其他任何东西,了解其中任何一个都将非常有用。它们的目的是代表协作类,以便它们准确地提供以有趣的方式练习测试对象所需的结果,而无需过多的旋转以使实际协作者处于正确的状态以实现相同的目标。就我个人而言,我喜欢 JMockit,并且我认为如果您必须为已经存在的代码编写测试,它是必不可少的。
关于java - Reg - 单元测试和技术知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28094909/
这个问题已经有答案了: What is the best way to set a register to zero in x86 assembly: xor, mov or and? (1 个回答)
中有3个事件fns重装 ,我可以对两者做同样的事情 reg-event-db和 reg-event-fx . reg-event-db之间的主要区别是什么, reg-event-fx和 reg-eve
我将 Verilog 与 modelSim 一起使用,当我尝试将 reg 变量分配给另一个 reg 变量的不同部分时出现以下错误: ** Error: Range width must be grea
我在Oracle Forms中要求编写一个PLSQL块,该块将通过包含逗号分隔记录的游标从数据库中读取数据。我已经完成了逻辑,但想检查一下我开发的这个逻辑是否可以以任何方式改进。。因此,我使用subs
使用以下代码是否存在执行速度差异: cmp al, 0 je done 以及以下内容: or al, al jz done 我知道JE和JZ指令是相同的,并且使用OR可以使字节大小提高1个字节。但是,
我正在维护和扩展诊断测试套件的功能,这段代码多次出现,但我不确定它的作用: int ret = 0, i, *reg; int size = sizeof(Regs)/sizof(Reg); for(
在一般情况下,可以使用内存或寄存器操作数的指令如何使用内存操作数变慢然后 mov + mov -> 指令 -> mov + mov 基于在 Agner Fog's instruction tables
假设module_a里面有register_a,它需要链接到module_b。 register_a 是否应该单独声明并分配给 module_a 的输出: reg register_a; assign
这是 ls -R 命令的输出: .: compare.sh searchByFile.sh startup.sh temp.txt test.sh compare.sh~ search
众所周知,WaveFront (AMD OpenCL) 与 WARP (CUDA) 非常相似:http://research.cs.wisc.edu/multifacet/papers/isca14-
我想将一张图片与其他图片列表一张一张地进行比较,然后我想知道哪张图片的相似度更高。 我试图用 Python OPENCV facerec_demo.py 做同样的事情,但它给出了错误: Attribu
打开光驱硬盘的自动运行特性 REG 复制代码 代码如下: Windows Registry Editor Version 5.00</p>
代码如下: Windows Registry Editor Version 5.00</p> <p>[HKEY_CURRENT_USER\Software\Microso
代码如下: Windows Registry Editor Version 5.00</p> <p>[HKEY_LOCAL_MACHINE\SYSTEM\ControlS
代码如下: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\exefile] @="应用程序&q
我知道在 REG 文件的行首放一个分号表示它已被注释。我想知道是否可以在一行(一行的右侧)后添加注释? 最佳答案 在同一行的注释前加上分号就足够了。换句话说,reg 文件在带有注册表项的一行以及整行注
我在 Verilog 中有这个架构/拓扑: 如何访问内部注册 IntReg ,这不是 IntModule 中的输入/输出,在 SystemVerilog 中? always @(posedge clk
我正在尝试使用字节流读取包含普通文本数据的文件。而且我知道在字节流中,每个字节都将被一个一个地读取。因此,如果我通过字节流读取文本文件中的数据 Hi How are you!!!!! 那么它应该给我每
我有一个运行 IIS/Asp.net 的网站的登录表单,在预订期间因为非常缓慢。 在登录页面我正在做的: $("#submit1").trigger('click') //this will logi
这个问题在这里已经有了答案: 关闭10 年前。 Possible Duplicate: non-static variable cannot be referenced from a static
我是一名优秀的程序员,十分优秀!