本文整理汇总了Java中org.junit.jupiter.api.extension.ParameterResolutionException类的典型用法代码示例。如果您正苦于以下问题:Java ParameterResolutionException类的具体用法?Java ParameterResolutionException怎么用?Java ParameterResolutionException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ParameterResolutionException类属于org.junit.jupiter.api.extension包,在下文中一共展示了ParameterResolutionException类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: resolveParameter
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@Override
public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext)
throws ParameterResolutionException {
Object argument = arguments[parameterContext.getIndex()];
Parameter parameter = parameterContext.getParameter();
Optional<ConvertWith> annotation = AnnotationUtils.findAnnotation(parameter, ConvertWith.class);
// @formatter:off
ArgumentConverter argumentConverter = annotation.map(ConvertWith::value)
.map(clazz -> (ArgumentConverter) ReflectionUtils.newInstance(clazz))
.map(converter -> AnnotationConsumerInitializer.initialize(parameter, converter))
.orElse(DefaultArgumentConverter.INSTANCE);
// @formatter:on
try {
return argumentConverter.convert(argument, parameterContext);
} catch (Exception ex) {
throw new ParameterResolutionException("参数转换出错:" + parameter.getType().getName(),
ex);
}
}
示例2: resolveParameter
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@Override
public Object resolveParameter(ParameterContext parameterContext,
ExtensionContext extensionContext)
throws ParameterResolutionException {
List<ParameterFactory> validFactories =
getSupportedFactories(parameterContext.getParameter()).collect(toList());
if (validFactories.size() > 1) {
throw new ParameterResolutionException(
String.format("Too many factories: %s for parameter: %s",
validFactories,
parameterContext.getParameter()));
}
return Iterables.getOnlyElement(validFactories)
.getParameterValue(parameterContext.getParameter());
}
示例3: resolve
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@Override
// public AbstractVaadinPageObject resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext)
public AbstractVaadinPageObject resolve(ParameterContext parameterContext, ExtensionContext extensionContext)
throws ParameterResolutionException {
Supplier<WebDriver> webDriverSupplier = webdriver().apply(extensionContext);
Class<?> pageObject = parameterContext.getParameter().getType();
try {
Constructor<?> constructor =
pageObject.getConstructor(WebDriver.class);
return AbstractVaadinPageObject.class.cast(constructor.newInstance(webDriverSupplier.get()));
} catch (NoSuchMethodException
| IllegalAccessException
| InstantiationException
| InvocationTargetException e) {
e.printStackTrace();
throw new ParameterResolutionException("was not able to create PageObjectInstance ", e);
}
}
示例4: init
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
public void init() throws ParameterResolutionException {
server = mock(ServerContext.class);
request = mock(Request.class);
session = mock(Session.class);
when(request.getServerContext()).thenReturn(server);
when(request.getSession()).thenReturn(session);
when(session.getId()).thenReturn("localhost:12345");
MockitoAnnotations.initMocks(target);
try {
command = target.getClass().getAnnotation(CommandUnderTest.class).value().newInstance();
} catch (InstantiationException | IllegalAccessException e) {
throw new ParameterResolutionException("error", e);
}
}
示例5: when
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@Test
void testInvokeDataProviderMethodToRetrieveDataShouldThrowParameterResolutionExceptionIfDataProviderInvocationThrows()
throws Exception {
// Given:
Method dataProviderMethod = this.getClass().getDeclaredMethod(
"testInvokeDataProviderMethodToRetrieveDataShouldThrowParameterResolutionExceptionIfDataProviderInvocationThrows");
when(extensionContext.getRoot()).thenReturn(extensionContext);
when(extensionContext.getStore(any(Namespace.class))).thenReturn(store);
// When:
Exception result = assertThrows(ParameterResolutionException.class,
() -> underTest.invokeDataProviderMethodToRetrieveData(dataProviderMethod, true, extensionContext));
// Then:
assertThat(result).hasMessageMatching("Exception while invoking dataprovider method '.*': .*");
}
示例6: resolveParameter
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@Override
public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
// we did our checks in supportsParameter() method, now we can do simple resolution
if (getContainerFromStore(extensionContext) != null) {
List<Annotation> qualifiers = resolveQualifiers(parameterContext, getContainerFromStore(extensionContext).getBeanManager());
return getContainerFromStore(extensionContext)
.select(parameterContext.getParameter().getType(), qualifiers.toArray(new Annotation[qualifiers.size()])).get();
}
return null;
}
示例7: supportsParameter
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@Override
public boolean supportsParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
// if weld container isn't up yet or if its not Method, we don't resolve it
if (getContainerFromStore(extensionContext) == null || (!(parameterContext.getDeclaringExecutable() instanceof Method))) {
return false;
}
List<Annotation> qualifiers = resolveQualifiers(parameterContext, getContainerFromStore(extensionContext).getBeanManager());
// if we require explicit parameter injection (via global settings or annotation) and there are no qualifiers we don't resolve it
if ((getExplicitInjectionInfoFromStore(extensionContext) || (methodRequiresExplicitParamInjection(parameterContext))) && qualifiers.isEmpty()) {
return false;
} else {
return getContainerFromStore(extensionContext).select(parameterContext.getParameter().getType(), qualifiers.toArray(new Annotation[qualifiers.size()]))
.isResolvable();
}
}
示例8: classNotFound
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@ExpectFailure({
@Cause(type = ParameterResolutionException.class),
@Cause(type = ArgumentConversionException.class),
@Cause(type = ClassNotFoundException.class)
})
@ParameterizedTest
@ValueSource(strings = "123ClassDoesNotExist")
void classNotFound(@ConvertWith(ClassArgumentConverter.class) Class<?> clazz) {}
示例9: badParameterType
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@ExpectFailure({
@Cause(type = ParameterResolutionException.class),
@Cause(type = ArgumentConversionException.class, message = "Invalid parameter type")
})
@ParameterizedTest
@ValueSource(strings = "java.lang.Object")
void badParameterType(@ConvertWith(ClassArgumentConverter.class) String clazz) {}
示例10: wrongClass
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@ExpectFailure({
@Cause(type = ParameterResolutionException.class),
@Cause(
type = ArgumentConversionException.class,
message = "java.lang.Class<java.util.List> is not assignable to"
+ " java.lang.Class<java.util.Collection<?>>"
)
})
@ParameterizedTest
@ValueSource(strings = "java.util.List")
void wrongClass(@ConvertWith(ClassArgumentConverter.class) Class<Collection<?>> clazz) {}
示例11: badLowerBound
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@ExpectFailure({
@Cause(type = ParameterResolutionException.class),
@Cause(type = ArgumentConversionException.class, message = "is not assignable to")
})
@ParameterizedTest
@ValueSource(strings = "java.util.List")
void badLowerBound(
@ConvertWith(ClassArgumentConverter.class) Class<? super Collection<?>> clazz) {}
示例12: badUpperBound
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@ExpectFailure({
@Cause(type = ParameterResolutionException.class),
@Cause(type = ArgumentConversionException.class, message = "is not assignable to")
})
@ParameterizedTest
@ValueSource(strings = "java.lang.Object")
void badUpperBound(
@ConvertWith(ClassArgumentConverter.class) Class<? extends Collection<?>> clazz) {}
示例13: supportsParameter
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@Override
public boolean supportsParameter(ParameterContext parameterContext,
ExtensionContext extensionContext)
throws ParameterResolutionException {
Parameter parameter = parameterContext.getParameter();
if (getBindingAnnotations(parameter).size() > 1) {
return false;
}
Key<?> key = getKey(
extensionContext.getTestClass(),
parameter);
Optional<Injector> optInjector = getInjectorForParameterResolution(extensionContext);
return optInjector.map(injector -> injector.getExistingBinding(key)).isPresent();
}
示例14: resolveParameter
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@Override
public Object resolveParameter(ParameterContext parameterContext,
ExtensionContext extensionContext)
throws ParameterResolutionException {
Parameter parameter = parameterContext.getParameter();
Key<?> key = getKey(extensionContext.getTestClass(), parameter);
Injector injector = getInjectorForParameterResolution(extensionContext)
.orElseThrow(() ->
new ParameterResolutionException(
String.format(
"Could not create injector for: %s It has no annotated element.",
extensionContext.getDisplayName())));
return injector.getInstance(key);
}
示例15: moduleWithoutZeroArgConstructor
import org.junit.jupiter.api.extension.ParameterResolutionException; //导入依赖的package包/类
@ExpectFailure({
@Cause(
type = ParameterResolutionException.class,
message = "Could not find a suitable constructor"
),
@Cause(type = NoSuchMethodException.class, message = "BadModule1.<init>()")
})
@Test
@IncludeModule(BadModule1.class)
void moduleWithoutZeroArgConstructor(String string) {}