Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Bean
- @H2Profile
- public DataSource dataSource(){
- EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
- builder.setName("web-##");
- builder.setType(EmbeddedDatabaseType.H2);
- builder.generateUniqueName(true);
- builder.addScript("classpath:/com/manuel/jordan/h2/create.sql");
- builder.addScript("classpath:/com/manuel/jordan/h2/insert.sql");
- EmbeddedDatabase db = builder.build();
- return db;
- }
- @Transactional
- @RunWith(Parameterized.class)
- @ActiveProfiles(resolver=TestJdbcActiveProfilesResolver.class)
- @ContextConfiguration(classes={RootApplicationContext.class})
- @TestExecutionListeners(listeners={LoggingTestExecutionListener.class}, mergeMode=MergeMode.MERGE_WITH_DEFAULTS)
- public class PersonaJdbcRepositoryTest {
- private static final Logger logger = LoggerFactory.getLogger(PersonaJdbcRepositoryTest.class.getSimpleName());
- @ClassRule
- public static final SpringClassRule SPRING_CLASS_RULE = new SpringClassRule();
- @Rule
- public final SpringMethodRule springMethodRule = new SpringMethodRule();
- @Autowired
- private Environment environment;
- @Autowired
- private PersonaRepository personaJdbcRepository;
- private final Persona persona;
- @Parameters
- public static Collection<Persona[]> data() {
- return Arrays.asList(new Persona[][] {
- {PersonaFactory.crearPersona01()},
- ...
- {PersonaFactory.crearPersona0N()}
- });
- }
- public PersonaJdbcRepositoryTest(Persona persona){
- this.persona = persona;
- }
- @Before
- public void setup(){
- logger.info("Profiles: {}", Arrays.toString(environment.getActiveProfiles()));
- }
- @Test
- @Sql(scripts={"classpath:/com/manuel/jordan/db/delete.sql"})
- public void saveOneTest(){
- //some asserts
- }
- @Test
- public void findOneTest(){
- //some asserts
- }
- @Test
- public void findAllTest(){
- //some asserts
- }
- @Test
- public void updateOneTest(){
- //some asserts
- }
- @Test
- public void deleteOneTest(){
- //some asserts
- }
- }
- spring.datasource.data = com/manuel/jordan/h2/insert.sql
- spring.datasource.driver-class-name=org.h2.Driver
- spring.datasource.generate-unique-name = true
- spring.datasource.initialize = false
- spring.datasource.name = web-##
- spring.datasource.password=
- spring.datasource.schema = com/manuel/jordan/h2/create.sql
- spring.datasource.sql-script-encoding = UTF-8
- spring.datasource.username=sa
- @Transactional
- @RunWith(Parameterized.class)
- @SpringBootTest(webEnvironment = WebEnvironment.NONE)
- @ActiveProfiles(resolver=TestJdbcActiveProfilesResolver.class)
- @TestExecutionListeners(listeners={LoggingTestExecutionListener.class}, mergeMode=MergeMode.MERGE_WITH_DEFAULTS)
- public class PersonaJdbcRepositoryTest {
- private static final Logger logger = LoggerFactory.getLogger(PersonaJdbcRepositoryTest.class.getSimpleName());
- @ClassRule
- public static final SpringClassRule SPRING_CLASS_RULE = new SpringClassRule();
- @Rule
- public final SpringMethodRule springMethodRule = new SpringMethodRule();
- @Autowired
- private Environment environment;
- @Autowired
- private PersonaRepository personaJdbcRepository;
- private final Persona persona;
- @Parameters
- public static Collection<Persona[]> data() {
- return Arrays.asList(new Persona[][] {
- {PersonaFactory.crearPersona01()},
- ...
- {PersonaFactory.crearPersona0N()}
- });
- }
- public PersonaJdbcRepositoryTest(Persona persona){
- this.persona = persona;
- }
- @Before
- public void setup(){
- logger.info("Profiles: {}", Arrays.toString(environment.getActiveProfiles()));
- }
- @Test
- @Sql(scripts={"classpath:/com/manuel/jordan/db/delete.sql"})
- public void saveOneTest(){
- //some asserts
- }
- @Test
- public void findOneTest(){
- //some asserts
- }
- @Test
- public void findAllTest(){
- //some asserts
- }
- @Test
- public void updateOneTest(){
- //some asserts
- }
- @Test
- public void deleteOneTest(){
- //some asserts
- }
- }
- PersonaJdbcRepositoryTest - Profiles: [development, h2, aop_logic_validation, jdbc]
- o.s.j.datasource.init.ScriptUtils - Executing SQL script from class path resource [com/manuel/jordan/h2/create.sql]
- o.s.j.datasource.init.ScriptUtils - Executed SQL script from class path resource [com/manuel/jordan/h2/create.sql] in 4 ms.
- o.s.j.datasource.init.ScriptUtils - Executing SQL script from class path resource [com/manuel/jordan/h2/insert.sql]
- o.s.j.datasource.init.ScriptUtils - Executed SQL script from class path resource [com/manuel/jordan/h2/insert.sql] in 23 ms.
- o.s.j.datasource.init.ScriptUtils - Executing SQL script from class path resource [com/manuel/jordan/db/delete.sql]
- o.s.j.datasource.init.ScriptUtils - Executed SQL script from class path resource [com/manuel/jordan/db/delete.sql] in 8 ms.
- java.lang.AssertionError:
- Expecting actual not to be empty
- org.springframework.dao.EmptyResultDataAccessException:
- Incorrect result size: expected 1, actual 0
- java.lang.AssertionError:
- Expected size:<5> but was:<1> in:
- @RunWith(Parameterized.class)
- //@RunWith(SpringRunner.class)
- Error Message
- java.lang.Exception: Test class should have exactly one public zero-argument constructor
- Stacktrace
- java.lang.Exception: Test class should have exactly one public zero-argument constructor
- at org.junit.runners.BlockJUnit4ClassRunner.validateZeroArgConstructor(BlockJUnit4ClassRunner.java:171)
- at org.junit.runners.BlockJUnit4ClassRunner.validateConstructor(BlockJUnit4ClassRunner.java:148)
Add Comment
Please, Sign In to add comment