Java - Code Coverage

У меня есть метод в одном из классов в моем кодовом базе, что для жизни меня я не могу войти в моих Junit Tests. В основном этот класс называется при запросе соединения с базой данных, если возвращается устаревшее соединение, установлено новое соединение

вот фрагмент MTHOD в моем классе (обрезается для этой цели)

public class TCSOracleDataSourceWrapper extends OracleDataSource {

private static final int STALE_CONNECTION_EX_CODE = 17143;
private OracleConnectionCacheManager cacheManager;  
private String cacheName;
/** Local log variable **/
private final Log logger = LogFactory.getLog(getClass());


/**
 * Class constructor
 * @throws SQLException
 */
public TCSOracleDataSourceWrapper() throws SQLException {
    super();
}

private static final long serialVersionUID = 1L;

@Override
/**
 * Get a connection but if the connection is stale then refresh all DB connections
 * 
 */
public final Connection getConnection() throws SQLException {

    logger.debug("Retrieving a database connection from the pool");

    Connection connection = null;
    try{
        connection = super.getConnection();         
    }
    catch(SQLException e)
    {

        if(e.getErrorCode() == STALE_CONNECTION_EX_CODE)
        {               
            logger.error("Stale Oracle connection found in the Connection Pool. Refreshing invalid DB connections.");
            //refresh invalid connections
            cacheManager.refreshCache(cacheName, OracleConnectionCacheManager.REFRESH_INVALID_CONNECTIONS);
            //now try to get the connection again
            connection = super.getConnection();
        }
        else
        {
            throw e;
        }
    }       

    return connection;
}}

Я могу гарантировать, что мои тесты JUnit выполняют заявление, если? В настоящее время я использую Easmock и Powermock, но я не могу найти способ попасть в это, если ставка, используя эти инструменты

, вся помощь очень ценится

Damien

5
задан Péter Török 1 September 2011 в 16:36
поделиться