Проверка работы CRUD в базе данных с помощью JUnit
У меня проблема с тестированием CRUD- операций с использованием JUnit.
У меня есть приложение Java, которое работает с локальной базой данных, и я должен проверить операции CRUD для объекта этой базы данных.
Как я могу проверить операции CRUD, если я не могу их использовать?
Например, чтобы проверить, работает ли операция Create, я должен убедиться, что новая созданная запись действительно соответствует входным данным. Как я могу сделать это, если я не могу получить доступ к операции чтения?
1 ответ
Я думаю, что у вас уже есть правильный ответ, но вы не можете следовать ему или действовать в соответствии с ним. Идея, которую вы имеете в виду, заключается в следующем: вы не можете использовать один набор операций для производственного кода и тестового кода. Так сказать: вам нужны два независимых набора операций, в которых тот, который вы используете для своего тестового кода, уже доказал свою корректную работу.
Независимые наборы операций: производство против теста
Например, если вы хотите проверить операцию Create вашей сущности, вам нужно проверить состояние базы данных через другой канал (например, через SELECT с JDBC/SQL), который уже работает правильно. Еще одним примером может быть то, что вы хотите проверить операцию чтения вашей сущности. Затем, прежде чем вызывать операцию чтения вашей сущности, вы должны установить начальное состояние базы данных с помощью INSERT через JDBC / SQL, а затем вызвать операцию чтения сущности, чтобы проверить ожидаемый результат.
Эти два независимых набора методов тестирования важны, потому что вы не можете полагаться на них, пока не протестируете их. Использование другого независимого набора методов, который уже был протестирован, решает эту проблему куриного яйца.