[hibernate-dev] [Hibernate Search] Added a test utility to assert produced log

Sanne Grinovero sanne at hibernate.org
Fri Nov 4 10:13:06 EDT 2016


Nice trick!

I didn't know about the Log4j feature, but had created something
similar for JBoss Logging; it's in the ORM project though so not
easily reusable in all of Search components:
 - org.hibernate.testing.logger.LoggerInspectionRule

On 4 November 2016 at 13:41, Yoann Rodiere <yoann at hibernate.org> wrote:
> Hi team,
>
> Just so you know, if you ever need to assert that a certain log is produced
> in your JUnit tests, there's now a tool to do just that in Hibernate
> Search: org.hibernate.search.test.util.impl.ExpectedLog4jLog [1]
>
> You may use it much like you would use the ExpectedException rule:
>
> public class MyTest {
> @org.junit.Rule
> public ExpectedLog4jLog logged = ExpectedLog4jLog.create();
>
> @Test
> public void test() {
> logged.expectMessage( "HSEARCH400032", "some substring I want in the same
> log" );
>
> // ... Do test ...
> }
> }
>
> You can also assert more complex conditions on the logs, using
> a org.hamcrest.Matcher<? extends LoggingEvent>, but then it's starting to
> get a bit exotic.
>
> You may find an example of real-life use at [2].
>
> [1]
> https://github.com/hibernate/hibernate-search/blob/master/engine/src/test/java/org/hibernate/search/test/util/impl/ExpectedLog4jLog.java
> [2]
> https://github.com/hibernate/hibernate-search/blob/master/elasticsearch/src/test/java/org/hibernate/search/elasticsearch/test/ElasticsearchUnsupportedFeaturesIT.java
>
> Cheers,
>
> Yoann Rodière <yoann at hibernate.org>
> Hibernate NoORM Team
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev



More information about the hibernate-dev mailing list