abstract class AbstractMyTest {
@Container
private static final MySQLContainer MYSQL_CONTAINER =
new MySQLContainer(
DockerImageName.parse("library/mariadb")
.asCompatibleSubstituteFor("mysql"));
@DynamicPropertySource
static void mysqlProperties(DynamicPropertyRegistry registry) {
registry.add("spring.datasource.url", MYSQL_CONTAINER::getJdbcUrl);
registry.add("spring.datasource.username", MYSQL_CONTAINER::getUsername);
registry.add("spring.datasource.password", MYSQL_CONTAINER::getPassword);
}
}
< /code>
Ich denke, dass es möglicherweise etwas in der Erstellung einer JUNIT -Erweiterungsklasse sein kann, anstatt Federanmerkungen zu verwenden. < /p>
Nur eine Notiz i ' m noch auf Spring Boot 2.7.18, also habe ich nicht die @ServiceContainer
Ich möchte einfach < /p> tun können[code]@MyTestConfig class MyTests { @Autowired SomeJpaRepo repo; @Test void findAll() { assertThatCode(repo::findAll).doesNotThrowAnyExceptions(); } } < /code> Was ich angefangen habe, war, die Annotation zu machen < /p> @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Inherited @DataJpaTest @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) @TestContainers public @interface MyTestConfig { } < /code> Damit die folgenden Testwerke < /p> geben@MyTestConfig class MyTests { @Container private static final MySQLContainer MYSQL_CONTAINER = new MySQLContainer( DockerImageName.parse("library/mariadb") .asCompatibleSubstituteFor("mysql"));
@DynamicPropertySource static void mysqlProperties(DynamicPropertyRegistry registry) { registry.add("spring.datasource.url", MYSQL_CONTAINER::getJdbcUrl); registry.add("spring.datasource.username", MYSQL_CONTAINER::getUsername); registry.add("spring.datasource.password", MYSQL_CONTAINER::getPassword); } @Autowired SomeJpaRepo repo; @Test void findAll() { assertThatCode(repo::findAll).doesNotThrowAnyExceptions(); } } [/code] Ich kann diese Testkontainer -Konfiguration jedoch nicht in eine separate Datei ausilt Erstellen einer abstrakten Testklasse < /p> [code]abstract class AbstractMyTest { @Container private static final MySQLContainer MYSQL_CONTAINER = new MySQLContainer( DockerImageName.parse("library/mariadb") .asCompatibleSubstituteFor("mysql"));
@DynamicPropertySource static void mysqlProperties(DynamicPropertyRegistry registry) { registry.add("spring.datasource.url", MYSQL_CONTAINER::getJdbcUrl); registry.add("spring.datasource.username", MYSQL_CONTAINER::getUsername); registry.add("spring.datasource.password", MYSQL_CONTAINER::getPassword); } } < /code> Ich denke, dass es möglicherweise etwas in der Erstellung einer JUNIT -Erweiterungsklasse sein kann, anstatt Federanmerkungen zu verwenden. < /p> Nur eine Notiz i ' m noch auf Spring Boot 2.7.18, also habe ich nicht die @ServiceContainer [/code] Annotation.
Ich möchte einfach
tun können @MyTestConfig
class MyTests {
@Autowired SomeJpaRepo repo;
@Test
void findAll() {
assertThatCode(repo::findAll).doesNotThrowAnyExceptions();
}
}
In der Methode setPhoneNumber wie ich neue NewidphoneNumber ( Die Telefonnummer sollte aus nur Zahlen bestehen ) so, dass es als InvalyPonNumber
gefangen wird public class App {
public static void...
Abstraktion:
Zum Beispiel ist Transformation A übergeordnetes Transformation B. Das Ziel ist es, Transformation A so zu bewegen, dass die Position der Transformation B ist, dass dies alle im lokalen...
Ich versuche, einen Komponententest für meinen Controller zu erstellen, aber die Aktion, die ich teste, verwendet eine teilweise View-to-String-Funktion, die in meinen Tests nicht funktionieren...