这是我在Selenium Webdriver中的测试方法。
@Test
public void test() {
String status = null, preProcessStatus = null;
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","password");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from tle_owner.transfer where Id=101");
while(rs.next()){
status = rs.getString(status);
preProcessStatus = rs.getString(preProcessStatus);
}
System.out.println("Initial Status : "+status);
System.out.println("Pre-Processing Status : "+preProcessStatus);
String dataBaseValidation;
if(status == "E" && preProcessStatus == "E") {
dataBaseValidation="Pass";
}
else {
dataBaseValidation="Fail";
}
System.out.println("Database Validation : " + dataBaseValidation);
}
结果
Initial Status : E
Pre-Processing Status : E
Database Validation : Fail
来自数据库的查询将始终导致结果中的一行或不导致任何一行。 数据库中状态和preProcessStatus的数据类型均为CHAR(1 CHAR)。我正在使用Oracle Sql Developer。
如果status和preProcessStatus都显示“ E”,那么为什么在if条件下数据没有得到验证?