Guest User

Untitled

a guest
Feb 15th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.59 KB | None | 0 0
  1. @Bean
  2. @H2Profile
  3. public DataSource dataSource(){
  4.  
  5. EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();
  6.  
  7. builder.setName("web-##");
  8. builder.setType(EmbeddedDatabaseType.H2);
  9. builder.generateUniqueName(true);
  10. builder.addScript("classpath:/com/manuel/jordan/h2/create.sql");
  11. builder.addScript("classpath:/com/manuel/jordan/h2/insert.sql");
  12. EmbeddedDatabase db = builder.build();
  13.  
  14. return db;
  15. }
  16.  
  17. @Transactional
  18. @RunWith(Parameterized.class)
  19. @ActiveProfiles(resolver=TestJdbcActiveProfilesResolver.class)
  20. @ContextConfiguration(classes={RootApplicationContext.class})
  21. @TestExecutionListeners(listeners={LoggingTestExecutionListener.class}, mergeMode=MergeMode.MERGE_WITH_DEFAULTS)
  22. public class PersonaJdbcRepositoryTest {
  23.  
  24. private static final Logger logger = LoggerFactory.getLogger(PersonaJdbcRepositoryTest.class.getSimpleName());
  25.  
  26. @ClassRule
  27. public static final SpringClassRule SPRING_CLASS_RULE = new SpringClassRule();
  28.  
  29. @Rule
  30. public final SpringMethodRule springMethodRule = new SpringMethodRule();
  31.  
  32. @Autowired
  33. private Environment environment;
  34.  
  35. @Autowired
  36. private PersonaRepository personaJdbcRepository;
  37.  
  38. private final Persona persona;
  39.  
  40. @Parameters
  41. public static Collection<Persona[]> data() {
  42. return Arrays.asList(new Persona[][] {
  43. {PersonaFactory.crearPersona01()},
  44. ...
  45. {PersonaFactory.crearPersona0N()}
  46. });
  47. }
  48.  
  49. public PersonaJdbcRepositoryTest(Persona persona){
  50. this.persona = persona;
  51. }
  52.  
  53. @Before
  54. public void setup(){
  55. logger.info("Profiles: {}", Arrays.toString(environment.getActiveProfiles()));
  56. }
  57.  
  58. @Test
  59. @Sql(scripts={"classpath:/com/manuel/jordan/db/delete.sql"})
  60. public void saveOneTest(){
  61. //some asserts
  62. }
  63.  
  64. @Test
  65. public void findOneTest(){
  66. //some asserts
  67. }
  68.  
  69. @Test
  70. public void findAllTest(){
  71. //some asserts
  72. }
  73.  
  74. @Test
  75. public void updateOneTest(){
  76. //some asserts
  77. }
  78.  
  79. @Test
  80. public void deleteOneTest(){
  81. //some asserts
  82. }
  83.  
  84. }
  85.  
  86. spring.datasource.data = com/manuel/jordan/h2/insert.sql
  87. spring.datasource.driver-class-name=org.h2.Driver
  88. spring.datasource.generate-unique-name = true
  89. spring.datasource.initialize = false
  90. spring.datasource.name = web-##
  91. spring.datasource.password=
  92. spring.datasource.schema = com/manuel/jordan/h2/create.sql
  93. spring.datasource.sql-script-encoding = UTF-8
  94. spring.datasource.username=sa
  95.  
  96. @Transactional
  97. @RunWith(Parameterized.class)
  98. @SpringBootTest(webEnvironment = WebEnvironment.NONE)
  99. @ActiveProfiles(resolver=TestJdbcActiveProfilesResolver.class)
  100. @TestExecutionListeners(listeners={LoggingTestExecutionListener.class}, mergeMode=MergeMode.MERGE_WITH_DEFAULTS)
  101. public class PersonaJdbcRepositoryTest {
  102.  
  103. private static final Logger logger = LoggerFactory.getLogger(PersonaJdbcRepositoryTest.class.getSimpleName());
  104.  
  105. @ClassRule
  106. public static final SpringClassRule SPRING_CLASS_RULE = new SpringClassRule();
  107.  
  108. @Rule
  109. public final SpringMethodRule springMethodRule = new SpringMethodRule();
  110.  
  111. @Autowired
  112. private Environment environment;
  113.  
  114. @Autowired
  115. private PersonaRepository personaJdbcRepository;
  116.  
  117. private final Persona persona;
  118.  
  119. @Parameters
  120. public static Collection<Persona[]> data() {
  121. return Arrays.asList(new Persona[][] {
  122. {PersonaFactory.crearPersona01()},
  123. ...
  124. {PersonaFactory.crearPersona0N()}
  125. });
  126. }
  127.  
  128. public PersonaJdbcRepositoryTest(Persona persona){
  129. this.persona = persona;
  130. }
  131.  
  132. @Before
  133. public void setup(){
  134. logger.info("Profiles: {}", Arrays.toString(environment.getActiveProfiles()));
  135. }
  136.  
  137. @Test
  138. @Sql(scripts={"classpath:/com/manuel/jordan/db/delete.sql"})
  139. public void saveOneTest(){
  140. //some asserts
  141. }
  142.  
  143. @Test
  144. public void findOneTest(){
  145. //some asserts
  146. }
  147.  
  148. @Test
  149. public void findAllTest(){
  150. //some asserts
  151. }
  152.  
  153. @Test
  154. public void updateOneTest(){
  155. //some asserts
  156. }
  157.  
  158. @Test
  159. public void deleteOneTest(){
  160. //some asserts
  161. }
  162.  
  163. }
  164.  
  165. PersonaJdbcRepositoryTest - Profiles: [development, h2, aop_logic_validation, jdbc]
  166.  
  167. o.s.j.datasource.init.ScriptUtils - Executing SQL script from class path resource [com/manuel/jordan/h2/create.sql]
  168. o.s.j.datasource.init.ScriptUtils - Executed SQL script from class path resource [com/manuel/jordan/h2/create.sql] in 4 ms.
  169. o.s.j.datasource.init.ScriptUtils - Executing SQL script from class path resource [com/manuel/jordan/h2/insert.sql]
  170. o.s.j.datasource.init.ScriptUtils - Executed SQL script from class path resource [com/manuel/jordan/h2/insert.sql] in 23 ms.
  171.  
  172. o.s.j.datasource.init.ScriptUtils - Executing SQL script from class path resource [com/manuel/jordan/db/delete.sql]
  173. o.s.j.datasource.init.ScriptUtils - Executed SQL script from class path resource [com/manuel/jordan/db/delete.sql] in 8 ms.
  174.  
  175. java.lang.AssertionError:
  176. Expecting actual not to be empty
  177.  
  178. org.springframework.dao.EmptyResultDataAccessException:
  179. Incorrect result size: expected 1, actual 0
  180.  
  181. java.lang.AssertionError:
  182. Expected size:<5> but was:<1> in:
  183.  
  184. @RunWith(Parameterized.class)
  185. //@RunWith(SpringRunner.class)
  186.  
  187. Error Message
  188.  
  189. java.lang.Exception: Test class should have exactly one public zero-argument constructor
  190.  
  191. Stacktrace
  192. java.lang.Exception: Test class should have exactly one public zero-argument constructor
  193. at org.junit.runners.BlockJUnit4ClassRunner.validateZeroArgConstructor(BlockJUnit4ClassRunner.java:171)
  194. at org.junit.runners.BlockJUnit4ClassRunner.validateConstructor(BlockJUnit4ClassRunner.java:148)
Add Comment
Please, Sign In to add comment