Написание тестового примера Junit для DataSource - PullRequest
0 голосов
/ 14 июня 2019

Я хочу использовать mock it для имитации объекта источника данных в приведенном ниже коде, но каждый раз, когда я получаю исключение нулевого указателя.

@Component
@Transactional
public class ConnectionUtils {

@Autowired
private Datasource data source

public Connection getConnection()
{
     return this.datasource.getConnection();
}

Я пробовал издеваться над источником данных и подключением, но, похоже, ничего не работает.

1 Ответ

1 голос
/ 14 июня 2019

Это не особенно интересный тест, но я надеюсь, что вы сможете продолжить его.Не рекомендуется издеваться над Connection, но я не знаю ни одного легкого его реализации.Это может быть лучше сделано с помощью @DataJpaTest, например: здесь .

@RunWith(MockitoJUnitRunner.class)
public class ConnectionUtilsTest {

    @InjectMocks
    ConnectionUtils connectionUtils;

    @Mock
    Datasource datasource;

    @Mock
    Connection connection;

    @Test
    public void shouldReturnDatasourceConnection() {
        when(datasource.getConnection()).thenReturn(connection);

        Connection actual = connectionUtils.getConnection();

        assertSame(connection, actual);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...