1
데이터 소스와 InitialContext를 조롱하여 컨테이너 외부의 데이터베이스에 연결하려고합니다. 이것은 내가에 대한 모의를 사용하려는 논리입니다 :jdbc 데이터 소스 조롱의 어려움
Connection con = null;
Context context = new InitialContext();
DataSource datasource = (DataSource) context.lookup("jdbc/chu");
con = datasource.getConnection();
이 내가 진행하는 방법입니다
// create the Connection
connection = createMyConnection();//connection i construct manually
// Mock the Datasource
DataSource datasourceMock = EasyMock.createMock(DataSource.class);
EasyMock.expect(datasourceMock.getConnection())
.andReturn(connection).anyTimes();
// Mock the context
Context contextMock = EasyMock.createMock(InitialContext.class);
EasyMock.expect((DataSource)contextMock.lookup("jdbc/chu"))
.andReturn(datasourceMock)
.anyTimes();
PowerMock.expectNew(InitialContext.class).andReturn((InitialContext)contextMock);
// run the mock
PowerMock.replayAll();
문제 :는 모의 그러나, 그것은 항상 null의 데이터 소스에 대해 작동하지 않습니다 InitialContext 모의 작동 중입니다.
내가 해냈어.하지만 문제가 해결되지 않아. – josephino