我有一个Java类,只需扩展库类并使用默认参数调用其父级的方法。我如何编写junit测试?MockObjectTestCase也很好。这是我所谈论的例子:
public class ResourceBundleMessageSource {
public String getMessage(String key, Object[] objects, Locale locale) {
//Spring library method
}
}
public class MessageResource extends ResourceBundleMessageSource {
public String getMessage(String key) {
return (getMessage(key, null, Locale.getDefault());
}
}
我知道包装方法甚至是必要的,但经常调用它更容易。注意该类工作正常,我只是对如何写入的单位测试感兴趣。
对于这个特定的例子,我不会伤心测试它。
如果您确实需要测试它,请尝试:
@Test
public void getDefaultMessage() {
ResourceBundleMessageSource origSource = <create source>
MessageResource subSource = <create with same criteria as origSource>
String key = <some key that is locale-specific>
assertEquals(origSource.getMessage(key, null, Locale.getDefault()),
subSource.getMessage(key));
}
如果前两条线很难写,那么它会使它更有意义于不测试它。如果您有多个测试,请将前两行移动到设置夹具中。
一、测试用例基本概念 执行测试之前写的指导测试过程的文档,包括:编号、测试标题(测试目的)、预置条件、用例描述、预期结果 二、写测试用例要什么东西 1、相关文档(需求、用户手册、开发文档) 2、结合开发出的软件 3、讨论 三、编写用例的方法 1、等价类划分 2、边界值 3、因果图 4、判定表 5、正交排列法 6、场景法 7、测试大纲方法 8、状态转换图 四、等价类划分基...
1.等价类 在所有测试的数据中,具有某种共同特征的数据子集。 2.有效等价类 满足需求的一类数据。 3.无效等价类 不满足需求的一类数据。 4.实例 功能:0—100之间的加法运算 等价类划分: 5.等价类设计测试用例的步骤: 分析需求,确定输入数据类型——使用规则划分有效和无效等价类...
等价类 思路:输入的集合是无穷的,不能全部都覆盖到 依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中挑选一个测试用例,如果这个测试用例通过,则认为所代表的等价类通过,这样就可以用较少的测试用例达到尽可能多的功能覆盖,解决了不能穷举测试的问题。 有效等价类:==对于需求规格说明书是合理的、有意义的输入数据构成的集合,==易用有效等价类验证程序是否实现了规格说明书中锁规...
用例设计 一、等价类划分设计测试用例 需求: 1.设计提现功能测试用例,首先分析需求,获得如下条件: 直接绘制判定表: 好吧!我错了 11个条件,共计需要122个组合。果断放弃 直接划分等价类: 下面转换成测试用例,岂不是有手就行? 对用例直接补充,可以用边界值,但是这里我不用?因为执行用例的也是我,使用场景法补充用例几条: 本来时想使用判定表设计用例的,下次一定!...
一、测试用例 1.1测试用例/案例(test case/test instance) 1.1.1 定义 在测试执行之前,由测试人员编写的用来指导测试过程的重要文档,测试用例主要由:用例编号、测试目的、测试步骤(用例描述)、预期结果。 1.1.2 编写测试用例的7种方法 等价类划分法(*) 边界值法(*) 因果图法 判定表法 正交排列法 测试大纲法 场景法(*) 提示:至少要掌握每种方法的适用场...
在所有可能的测试用例中,哪个子集最有可能发现最多的错误 测试方法: 黑盒测试 等价类划分(Equivalence Partitioning) 1. 严格控制测试用例的增加,减少为达到“合理测试”的某些既定目标而必须设计的其他测试用例的数量 2. 它覆盖了大部分其他可能的测试用例。 划分了等价类后,就可以说,如果对该集合中某个元素所进行的测试没有发现错误的话,那么对该集合中其...
1,测试用例的要素:用例标题,预置条件,操作步骤/输入数据,预期结果,所属项目,用例编码,重要级别,其他(实际结果、设计者、创建时间、用例类型(正用例还是反用例)、用例性质(手工执行还是自动执行)等,根据需要决定是否保留)。 2,此图简单截取测试用例的一部分。...
背景: redis字典(hash表)当数据越来越多的时候,就会发生扩容,也就是rehash 对比:java中的hashmap,当数据数量达到阈值的时候(0.75),就会发生rehash,hash表长度变为原来的二倍,将原hash表数据全部重新计算hash地址,重新分配位置,达到rehash目的 redis中的hash表采用的是渐进式hash的方式: 1、redis字典(hash表)底层有...
2019独角兽企业重金招聘Python工程师标准>>> 我们平时按下键盘上的‘回车键’,就能实现回车换行【我们在屏幕上所看到的就是光标移到了下一行的开头位置!!ps:不讨论软件实现的特殊功能,如word里的回车智能缩进】。因此对这个按键更准确说应该叫做‘回车换行键’ 就且将这种将光标移到下行开...
首先,在Windows操作系统下安装python,完成python环境的搭建。(我看有的博客需要配置环境变量,其实不必要,因为我们在安装的时候只要勾选如下图所示即可避免不必要的麻烦) 第二步,使用快捷键windows+R或者点击如下图所示,之后点击运行 在其中输入cmd即可进入dos命令。 第三步,输入以下命令 就会自动安装,等待安装完成即可。 第四步,检测django是否安装成功,如果出现如下图...
I have a dataframe and i want to calculate the sum of variables present in a vector in every row and make the sum in other variable after i want the name of new variable created to be from the name of...
I have a very rough project that done partially in zend framework (not ZF2). The 'application', 'library' and 'public' folders are on the same root. Now i need to create a library 'Anil' in the 'libra...
I want to hide some of the categories from magento home page. I have created some categories like New Arrivals, Special Offer Which I would like to show in some different way may be in left panel or r...
I am writing to an internal file in Android Studio The code lets me write lines of data split with commas. I am able to then go to another activity and read it all out at once. However I want to be ab...
I'm new to Ruby On Rails, I used the acts_as_votable gem to create Like and Unlike Buttons to make Users like and unlike Posts but I can't make them change from Like to Unlike (and viceversa) and upda...