Package io.mats3.test.jupiter
Class Extension_Mats
- java.lang.Object
-
- io.mats3.test.abstractunit.AbstractMatsTest<java.lang.String>
-
- io.mats3.test.jupiter.Extension_Mats
-
- All Implemented Interfaces:
org.junit.jupiter.api.extension.AfterAllCallback,org.junit.jupiter.api.extension.BeforeAllCallback,org.junit.jupiter.api.extension.Extension
public class Extension_Mats extends io.mats3.test.abstractunit.AbstractMatsTest<java.lang.String> implements org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.AfterAllCallbackProvides a full MATS harness for unit testing by creatingMatsFactoryutilizing an in-vm Active MQ broker, and optionally aTestH2DataSourcefor database tests. Notice: If you are in a Spring-context, this is probably not what you are looking for, as the MatsFactory then should reside as a bean in the Spring context. Look in the 'mats-spring-test' package for testing tools for Spring. By default theextensionwill create aMatsSerializerJsonwhich will be the serializer utilized by the createdMatsFactory. Should one want to use a different serializer which serializes to the type ofStringthen this can be specified using the methodcreate(MatsSerializer). However should one want to specify a serializer which serializes into anything other thanString, thenExtension_MatsGenericoffers this possibility.Extension_Matsshall be annotated with@RegisterExtensionand the instance field shall be static for the Jupiter life cycle to pick up the extension at the correct time.Extension_Matscan be viewed in the same manner as one would view a ClassRule in JUnit4. Example:public class YourTestClass { @RegisterExtension public static final Extension_Mats MATS = Extension_Mats.createRule() }To get a variant that has aTestH2DataSourcecontained, and the MatsFactory set up with transactional handling of that, use thecreateWithDb()methods. In this case, you might want to clean the database before each test method, which can be accomplished as such:public class YourTestClass { @RegisterExtension public static final Extension_Mats MATS = Extension_Mats.createRule() @Before // Will clean the database before each test - if this is what you want. public void cleanDatabase() { MATS.getDataSource().cleanDatabase() } }- See Also:
Extension_MatsGeneric
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedExtension_Mats(io.mats3.serial.MatsSerializer<java.lang.String> matsSerializer)protectedExtension_Mats(io.mats3.serial.MatsSerializer<java.lang.String> matsSerializer, javax.sql.DataSource dataSource)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterAll(org.junit.jupiter.api.extension.ExtensionContext context)Executed by Jupiter after all test methods have been executed.voidbeforeAll(org.junit.jupiter.api.extension.ExtensionContext context)Executed by Jupiter before any test method is executed.static Extension_Matscreate()Creates anExtension_Matsutilizing theMATS default serializerstatic Extension_Matscreate(io.mats3.serial.MatsSerializer<java.lang.String> matsSerializer)Creates anExtension_Matsutilizing the user providedMatsSerializerwhich serializes to the type of String.static Extension_MatscreateWithDb()static Extension_MatscreateWithDb(io.mats3.serial.MatsSerializer<java.lang.String> matsSerializer)
-
-
-
Method Detail
-
create
public static Extension_Mats create()
Creates anExtension_Matsutilizing theMATS default serializer
-
create
public static Extension_Mats create(io.mats3.serial.MatsSerializer<java.lang.String> matsSerializer)
Creates anExtension_Matsutilizing the user providedMatsSerializerwhich serializes to the type of String.
-
createWithDb
public static Extension_Mats createWithDb()
-
createWithDb
public static Extension_Mats createWithDb(io.mats3.serial.MatsSerializer<java.lang.String> matsSerializer)
-
beforeAll
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context)
Executed by Jupiter before any test method is executed. (Once at the start of the class.)- Specified by:
beforeAllin interfaceorg.junit.jupiter.api.extension.BeforeAllCallback
-
afterAll
public void afterAll(org.junit.jupiter.api.extension.ExtensionContext context)
Executed by Jupiter after all test methods have been executed. (Once at the end of the class.)- Specified by:
afterAllin interfaceorg.junit.jupiter.api.extension.AfterAllCallback
-
-