我正在测试两个准备好的语句,如下所示,我希望它使用assertEquals显示它们是相同的但是它给我一个错误,结果和expectedResult不相等。
find . -path "/Path/to/B*" -print0 | xargs -0 -J {} scp {} Me@137.92.4.152:/Path/to/
答案 0 :(得分:0)
参考this SO Question及其答案,了解assertSame
的含义。它检查两个对象引用是否相等,这肯定不是你的代码的情况,因为两个不同的connection.prepareStatement(...)
调用会给你两个不同的引用/对象。
我不确定PreparedStatement
的等式是如何工作的,你可以查看equals()
方法的源代码(PreparedStatement
只是JDK中的一个接口,它的实现是由驱动程序提供的提供者)和assertEquals
的看法就是你所需要的。
您的代码按预期工作。
引自prepareStatement(java.lang.String),
返回: 一个新的默认PreparedStatement对象,包含预编译的SQL语句