Skip to content

Instantly share code, notes, and snippets.

@beyondxscratch
Created July 14, 2022 22:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beyondxscratch/e312d37965f865972da845cd85d794d4 to your computer and use it in GitHub Desktop.
Save beyondxscratch/e312d37965f865972da845cd85d794d4 to your computer and use it in GitHub Desktop.
class BookmarkResolver implements ParameterResolver {
@Override
public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) {
// Le type d'arguments concernés par le resolver
return parameterContext.getParameter().getType() == Bookmark.class;
}
@Override
public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) {
if (parameterContext.isAnnotated(Article.class)) {
return Bookmark.create("https://www.programmez.com/article/1", "Cool article");
}
return Bookmark.create("https://www.programmez.com", "Programmez Magazine");
}
}
@ExtendWith(BookmarkResolver.class)
class BookmarkTest {
@BeforeEach
void set_up(Bookmark bookmark) {
// Bookmark injecté : https://www.programmez.com
}
@Test
void a_test(@Article Bookmark bookmark) {
// Bookmark injecté : https://www.programmez.com/article/1
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment