Methodsource
MethodSource
📌 Formas de referenciar métodos estáticos con @MethodSource en JUnit 5
✅ 1. Referencia dentro de la misma clase (método estático en la clase del test)
@MethodSource("nombreDelMetodo")
-
Uso: Cuando el método estático está en la misma clase del test.
-
Ejemplo:
static Stream<Arguments> provideData() { ... } @ParameterizedTest @MethodSource("provideData")
✅ 2. Referencia en otra clase (método estático externo)
@MethodSource("paquete.Clase#metodo")
-
Sintaxis general:
"paquete.Clase#metodo" -
Uso: Cuando el método estático está en otra clase.
-
Ejemplo:
@MethodSource("com.ejemplo.Proveedores#datos")
🔄 ¿Y el símbolo $?
El símbolo $ normalmente no se usa en @MethodSource. Pero aparece en estos contextos:
| Uso del símbolo | Contexto |
|---|---|
Outer$Inner |
Se refiere a clases internas en Java. |
| Ejemplo | "com.ejemplo.OuterClass$InnerClass#metodo" |
🧠 Resumen rápido
| Caso | Sintaxis | Ejemplo |
|---|---|---|
| Mismo método en la clase del test | "metodo" |
"provideData" |
| Método en otra clase | "paquete.Clase#metodo" |
"com.foo.Bar#datos" |
| Método en clase interna | "paquete.ClaseExterna$Interna#metodo" |
"com.foo.Bar$Inner#datos" |