是否可以将 ParameterResolver 提供的参数注入(或以其他方式获取)扩展?
以下示例使用 Spring 和 RestAssured,但我正在寻找更通用的解决方案:
在测试类中,我可以执行以下操作:
@BeforeEach
void setUpRestAssured(@LocalServerPort int port) {
RestAssured.port = port;
}
如果我想把它放到一个扩展中,我会实现BeforeEachCallback
:
public class RestAssuredExtension implements BeforeEachCallback {
@Override
public void beforeEach(ExtensionContext context) throws Exception {
int port = ???
}
}
我知道我可以使用注释创建一个字段@LocalServerPort
并使用 AnnotationSupport 获取它,但这仅适用于 Spring 扩展注入它。我正在寻找一种更通用的方法,该方法可以与使用参数解析器的其他扩展一起使用。