org.junit.jupiter.api.extension.ExtensionContext#getRoot()源码实例Demo

下面列出了org.junit.jupiter.api.extension.ExtensionContext#getRoot() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

/** Get the compilation context.
 *
 * @param context the extension context.
 * @return the compilation context.
 */
ResourceSetGlobalCompilationContext getOrCreateCompilationContext(ExtensionContext context) {
	final ExtensionContext root = context.getRoot();
	return root.getStore(NAMESPACE).getOrComputeIfAbsent(
			ResourceSetGlobalCompilationExtension.CONTEXT_KEY,
			it -> {
				final ResourceSetGlobalCompilationContext ctx = new ResourceSetGlobalCompilationContext(
						context.getRequiredTestClass().getPackage().getName() + ".tests",
						this.injector, this.parseHelper, this.validator);
				final GlobalCompilationTestContribution anno = context.getRequiredTestClass().getAnnotation(GlobalCompilationTestContribution.class);
				if (anno != null) {
					ctx.setValidationRunInEachTestFunction(anno.getValidate());
				}
				return ctx;
			},
			ResourceSetGlobalCompilationContext.class);
}
 
源代码2 项目: quarkus   文件: QuarkusTestExtension.java
private ExtensionState ensureStarted(ExtensionContext extensionContext) {
    ExtensionContext root = extensionContext.getRoot();
    ExtensionContext.Store store = root.getStore(ExtensionContext.Namespace.GLOBAL);
    ExtensionState state = store.get(ExtensionState.class.getName(), ExtensionState.class);
    TestProfile annotation = extensionContext.getRequiredTestClass().getAnnotation(TestProfile.class);
    Class<? extends QuarkusTestProfile> selectedProfile = null;
    if (annotation != null) {
        selectedProfile = annotation.value();
    }
    boolean wrongProfile = !Objects.equals(selectedProfile, quarkusTestProfile);
    if ((state == null && !failedBoot) || wrongProfile) {
        if (wrongProfile) {
            if (state != null) {
                try {
                    state.close();
                } catch (Throwable throwable) {
                    throwable.printStackTrace();
                }
            }
        }
        PropertyTestUtil.setLogFileProperty();
        try {
            state = doJavaStart(extensionContext, selectedProfile);
            store.put(ExtensionState.class.getName(), state);

        } catch (Throwable e) {
            failedBoot = true;
            firstException = e;
        }
    }
    return state;
}
 
源代码3 项目: quarkus   文件: NativeTestExtension.java
@Override
public void postProcessTestInstance(Object testInstance, ExtensionContext context) throws Exception {
    TestHTTPResourceManager.inject(testInstance);
    ExtensionContext root = context.getRoot();
    ExtensionContext.Store store = root.getStore(ExtensionContext.Namespace.GLOBAL);
    ExtensionState state = store.get(ExtensionState.class.getName(), ExtensionState.class);
    state.testResourceManager.inject(testInstance);
}
 
/** Remove the compilation context.
 *
 * @param context the extension context.
 */
void clearCompilationContext(ExtensionContext context) {
	final ExtensionContext root = context.getRoot();
	root.getStore(NAMESPACE).remove(ResourceSetGlobalCompilationExtension.CONTEXT_KEY);
}