EJB Unit test
Satt och implementerade nya funktioner i en DAO. Eftersom jag inte implementerat klient eller ens något interface som utnyttjar funktionaliteten i DAO ville jag skapa ett unit test för att kunna pröva om det funkade.
Jag hamnade rakt i EJB elände, basklassen till alla DAO:er implementerar en funktion, getConnection, som hämtar en connection och denna gör detta get InitialContext o.s.v. i EJBContainern.
Hittade en workaround till detta. Jag skapade en ny inre klass i Unittestet som implementerade om getConnection och skapar en JDBC connection på enklaste sätt. Jag var dessutom tvungen att lägga till JDBC drivrutinen i classpath för mitt unittest.
Så här ser den inre klassen ut:
Jag hamnade rakt i EJB elände, basklassen till alla DAO:er implementerar en funktion, getConnection, som hämtar en connection och denna gör detta get InitialContext o.s.v. i EJBContainern.
Hittade en workaround till detta. Jag skapade en ny inre klass i Unittestet som implementerade om getConnection och skapar en JDBC connection på enklaste sätt. Jag var dessutom tvungen att lägga till JDBC drivrutinen i classpath för mitt unittest.
Så här ser den inre klassen ut:
public class TestDAO extends MyDAO {
protected Connection getConnection(String datasource)
throws NamingException, SQLException {
try {
Class.forName("com.inet.tds.TdsDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return DriverManager.
getConnection(
"jdbc:inetdae:dbServer.com:1433?database=db1"
, "user", "password");
}
}

0 Comments:
Skicka en kommentar
<< Home