Как протестировать фиктивный источник данных JNDI с помощью Spring?

Выполните перемещение непосредственно в репозитории.

31
задан Grzegorz Oledzki 9 May 2011 в 21:26
поделиться

1 ответ

Я недавно встретился с проблемой насмешки ресурса DB JNDI для моего тестового сценария JUnit. Я имел дело с созданным отдельный класс DBStub, который содержит дразнивший javax.sql. DataSource и присваивают его Spring простая реализация разработчика контекста именования JNDI, которого Расширяют SimpleNamingContextBuilder,

public class DBStub {

@Mock
DataSource dataSource;

public DBStub() {
    try {
        MockitoAnnotations.initMocks(this);
        SimpleNamingContextBuilder builder = SimpleNamingContextBuilder.emptyActivatedContextBuilder();
        builder.bind("java:comp/env/jdbc/DataSource", dataSource);
    } catch (NamingException e) {
        fail();
    }

    } 
}

, этот класс к фактическому тестовому классу JUnit решил бы вопрос,

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:application-context.xml" })
public class PricingOperationTest extends DBStub {

    @Autowired
    private JdbcTemplate template;

    @Test
    public void testDataSource() {
        assertNotNull(template.getDataSource());
    }
}
0
ответ дан 27 November 2019 в 21:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: