【发布时间】:2018-07-12 02:47:36
【问题描述】:
我做了一个java项目,第一次用H2来测试我的程序。 我正在使用 H2 运行我的 Junit 和黄瓜测试。
我有一个从几个表中获取数据的查询。
SELECT film.TITLE, film.DIRECTOR, cinema.LOCATION, cinema.THEATER_NAME, SUM(income.NUMBER_VIEW)
FROM DRFGIRF7B_OPE.MOVIE as film
INNER JOIN DRFGIRF7B_OPE.MOVIE_THEATER as income ON film.FILM_ID = income.FILM_ID
INNER JOIN DRFGIRF7B_OPE.THEATER as cinema ON income.THEATER_ID = cinema.THEATER_ID
WHERE film.COUNTRY_COD = 'FRA'
GROUP BY film.TITLE, film.DIRECTOR, cinema.LOCATION;
这里,GROUP BY 语句中缺少“cinema.THEATER_NAME”。 当我在 SQL IDE 中执行此查询时,出现此错误消息(这是预期的):
SQL Failed : Selected non-aggregate values must be part of the assiociated group
但是当我使用 Junit 运行测试时,H2 没有检测到这个问题,并且我的所有测试都通过了,而查询被调用了。
你有什么想法,为什么我的测试没有失败?
【问题讨论】:
-
另一个很好的例子说明为什么使用与生产环境不同的 DBMS 进行测试没有意义
-
旅程的第一部分,我并不知道。我正在查看所有功能 有粗体选项,斜体选项。不,我在写这篇文章时没有找到给我的代码着色的方法(这是我的第一篇文章,我现在就知道了)谢谢你关于图片的帖子,我无法以不同的方式或可能但不知道怎么弄
标签: java sql junit group-by h2