2016-09-05 2 views
0

У меня есть следующий код:Java Spring JUnit Test Datasource не указан

@Override 
public long getUniqueId() { 
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    String dateAndTime= dateFormat.format(new Date()); 
    jdbcTemplate.update(someSqlQuery, dateAndTime); 

    SimpleJdbcCall jdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("IDENTITY").withReturnValue(); 
    } 
    return 0; 
} 

И я хочу написать простой модульный тест, но всякий раз, когда код достигает линию с SimpleJdbcCall бросает исключение, что «DataSource не определен». Это мой тест:

@Test 
public void testGetBatchId() { 
    transactionImpl.getUniqueId(); 
} 

Что не так с моей настройкой?

+1

Это не юнит тест, это тест интеграции. Кроме того, ваш источник данных определен в области проверки? – t0mppa

+0

В вашем разделе «Следующий код» есть дополнительный «}». Есть ли код, отсутствующий в коде, который вы хотите проверить? –

ответ

1

Если вы хотите сделать интеграционный тест вам нужен источник данных, определенный в тестовом объеме

@RunWith(SpringJUnit4ClassRunner.class) 
@SpringApplicationConfiguration(classes = GatewayApplication.class) 
@WebAppConfiguration 
@Transactional 
public class ControllerIT { 
+0

Я использую весенний ботинок кстати :) – JWqvist

+0

В этом случае вы использовали '@RunWith (SpringRunner.class)' и '@ SpringBootTest'? –

+0

Только @RunWith (SpringJUnit4ClassRunner.class) Не @SpringBootTest – JWqvist

Смежные вопросы