Java тестовый класс, который устанавливает соединение с БД - PullRequest
0 голосов
/ 26 ноября 2011

У меня есть класс Customer, который устанавливает соединение с БД и сохраняет данные в MySQL. Я использую Tomcat и MySQL. Я хочу проверить этот класс. У меня есть этот метод:

public CustomerData findById(int customerId) throws SQLException {
    Connection conn = null;
    PreparedStatement stmt = null;
    CustomerData customer = null;

    try {
        String sql = "SELECT id, status, username, email, age, country, city, is_hidden FROM "
                + TABLE + " WHERE  id = ?";

        conn = DBManager.getConnection();
        stmt = conn.prepareStatement(sql);

        stmt.setInt(1, customerId);

        ResultSet rs = stmt.executeQuery();

        if (rs.next()) {
            customer = new CustomerData(rs.getInt(1), rs.getInt(2),
                    rs.getString(3), null, rs.getString(4), rs.getInt(5),
                    String.valueOf(rs.getInt(6)), String.valueOf(rs
                            .getInt(7)), 0, rs.getInt(8));
        }

        return customer;
    } finally {
        closeConnection(conn, stmt);
    }
}

Как я могу это проверить?

Ответы [ 2 ]

3 голосов
/ 26 ноября 2011

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

Вы должны ознакомиться со статьей dallaway ,что абсолютно блестяще.

1 голос
/ 26 ноября 2011

у вас должен быть db тест с предварительно заполненными данными.Вы можете позвонить findById с фиксированным значением customerId, чтобы проверить результат по некоторым константам.Предположим, у вас есть клиент на тестовой базе данных с именем «Test» registrationDate «10/10/2010» и Id 1, который может закончиться чем-то вроде

CustomerData customer = yourclass.findById(1);
Assert.assertNotNull(customer);
Assert.assertEquals(customer.getId(),1);
Assert.assertEquals(customer.getName(),"Test");
Assert.assertEquals(customer.getRegistrationDate(),"10/10/2010");

, где класс Assert является одним из доступных для Junit o TestNG иливы тестируете фреймворк.

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