#unit-testing #jql
Вопрос:
В моем проекте я использую JQL-запросы. Они несколько сложны, а также функционально важны для приложения. Я могу создать набор данных, необходимый для его тестирования, и ожидаемые результаты, но как мы можем настроить модульное тестирование для запросов такого типа?
Простым примером может быть (необходимо изменить некоторые имена и диспозиции, но чтобы получить представление о типе/сложности запроса, который мне нужно протестировать):
@Query("SELECT al "
"FROM Ale al "
"JOIN Lo AS l ON l = al.lo "
"JOIN Eq AS e ON e = al.eq "
"WHERE al.eq.s.uuidSite = ?1 "
"AND e.type IN ?3 "
"AND EXISTS ( "
" SELECT e.nomE "
" FROM Argument AS ra "
" LEFT JOIN Exclusion AS ee ON ("
" ("
" (ee.ori IS NULL AND ra.idr = ee.idr) "
" OR "
" (ee.ori = ra.idr AND ee.idr = e.nomE) "
" ) "
" AND ra.search = ee.search "
" AND ee.typeStep = ra.typeStep"
" )"
" WHERE ra.search.id = ?2 "
" AND ra.typeStep = 'SOME_CONSTANT' "
" AND l.name = ra.idr "
" AND ee IS NULL"
")"
)