1)提供的接口数量不完全相同。
assertEquals支持boolean,long,int等等java primitiveType变量。
assertSame只支持Object。
2)比较的逻辑不同,结果可能不同。
assertSame是对象直接比较。assertEquals能利用被比较对象提供的比较逻辑来进行比较。
使得同样的条件下,两者的运行结果不一定相同。
简单解释如下:
assertEquals(Object A, Object B) 的比较逻辑:
如果 A,B都是Null,返回true。否则调用 A.equals(B)来判断。
assertSame(Object A, Object B)的比较逻辑:
以A == B运算的结果来判断。
A.equals(B) 和 A==B 的差别在于。
如果A没有重写java.lang.Object的equals方法,
那么就是两个java对象的内存地址比较,比较结果和 A==B的结果相同。
如果A重写了equals方法(比如GregorianCalendar,BigDecimal类),
那么比较的结果不一定和A==B的结果相同。
http://stackoverflow.com/questions/6060848/junit-assertequals-fails-for-two-objects
http://www.51testing.com/html/87/395287-233341.html
对于两个自定义类型MyObjClass对象,使用JUnit时,是否可以用下面的方式判断它们的内容相同呢?
assertEquals(obj1, obj2)
答案是:
如果MyObjClass类重载了下面的函数,则是可以的。否则不可预期
。
JUnit中assertEquals和assertSame方法的不同1)提供的接口数量不完全相同。assertEquals支持boolean,long,int等等java primitiveType变量。assertSame只支持Object。 2)比较的逻辑不同,结果可能不同。assertSame是对象直接比较。assertEquals能利用被
5.1 概述
5.1.1 概述
Spring表达式语言全称为“Spring Expression Language”,缩写为“SpEL”,类似于Struts2x中使用的OGNL表达式语言,能在运行时构建复杂表达式、存取
对象
图属性、
对象
方法调用等等,并且能与Spring功能完美整合,如能用来配置Bean定义。
表达式语言给静态
Java
语言增加了动态功能。
JUnit
测试
Assert
静态类
Assert
包含了一组静态的测试方法,用于比较期望值和实际值,若测试失败,
Assert
类抛出一个
Assert
ionFailedError异常。
JUnit
提供了6大类31组断言方法,包括:
对象
断言
下面具体解析:
assert
Equals
(Object expected, Object actual);
比较
两个
在单测中,当期望结果(Expect)和实际结果(Actual)都是
对象
时,进行
Assert
.
assert
Equals
判断时,可能会不符合预期,我们认为符合预期的测试结果还是失败,
主要还是
对象
equals
方法导致的。
assert
Equals
运行失败后的错误提示
assert
True 运行失败后的错误提示
总结
assert
Equals
和
assert
True 区别相同之处:都能判断
两个
值是否相等
assert
True 如果为true,则运行success,反之Failure
assert
Equals
如果预期值与真实值相等
文章目录控制台RESTFULL操作REST风格说明基于REST命令说明:es
支持
的数据
类型
核心数据
类型
ik分词器使用ik_smart最少切分ik_max_word最细粒度创建索引通过创建文档方式,自动创建索引库索引库创建
控制台RESTFULL操作
使用工具Cerebro v0.8.3
REST风格说明
一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简介,更有层次,更易于实现缓存等机制
基于REST命令说明:
Fastjson是一个
Java
语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前
Java
语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。
主要特点:
快速FAST (比其它任何基于
Java
的解析器和生成器更快,包括jackson)
@Parameterized.Parameters
public static Collection<Object[]> data() {
return Arrays.asList(new Object[][] {
{ 1, 2, 3 },
{ 2, 3, 5 },
{ 3, 4, 7 }
private int input1;
private int input2;
private int expected;
public MyTest(int input1, int input2, int expected) {
this.input1 = input1;
this.input2 = input2;
this.expected = expected;
@Test
public void test() {
assert
Equals
(expected, input1 + input2);
这个例子展示了如何使用
JUnit
的Parameterized runner来进行参数化测试。在这个例子中,我们定义了一个静态方法`data()`,它返回一个包含多组测试数据的集合。每组测试数据都是一个Object数组,包含
两个
输入参数和一个期望输出结果。在测试类的构造函数中,我们将这些参数保存到成员变量中。在测试方法中,我们使用
assert
Equals
()方法来比较实际输出结果和期望输出结果是否相等。这样,我们就可以通过一次测试来验证多组输入参数的正确性。
CSDN-Ada助手:
Python3 爬虫(一)-- 简单网页抓取
m0_74915358:
500万条微博数据来源分析
2301_77787608:
暴力拆解《Numerical Optimization》之信任域方法(下)——柯西点
1COIN:
≪统计学习精要(The Elements of Statistical Learning)≫课堂笔记(四)
CSDN-Ada助手: