Last active
March 6, 2019 12:10
-
-
Save Romeh/93be9d1409e91b9e7f829af91fe92dee to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@RunWith(SpringJUnit4ClassRunner.class) | |
@ContextConfiguration(classes = {DbConfig.class}) | |
@ActiveProfiles("DaoTest") | |
@Sql(executionPhase = Sql.ExecutionPhase.BEFORE_TEST_METHOD, scripts = "classpath:dao/TestData.sql") | |
public class PostgresEmbeddedDaoTestingApplicationTests { | |
/* Here we have a static postgreSQL test container Class rule to make the instance used | |
for all test methods in the same test class , and we use @Transactional to avoid any dirty data changes between | |
different test methods , where we pass our test database configuration , | |
ideally that should be loaded from external config file */ | |
@ClassRule | |
public static PostgreSQLContainer postgreSQLContainer = (PostgreSQLContainer) new PostgreSQLContainer( | |
"postgres:10.3") | |
.withDatabaseName("test") | |
.withUsername("user") | |
.withPassword("pass").withStartupTimeout(Duration.ofSeconds(600)); | |
@Autowired | |
private CustomerRepository customerRepository; | |
@Test | |
@Transactional | |
public void contextLoads() { | |
customerRepository.save(Customer.builder() | |
.id(new Random().nextInt()) | |
.address("brussels") | |
.name("TestName") | |
.build()); | |
Assert.assertTrue(customerRepository.findCustomerByName("TestName") != null); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment