org.testifyproject.TestContext.getTestDescriptor()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(11.1k)|赞(0)|评价(0)|浏览(72)

本文整理了Java中org.testifyproject.TestContext.getTestDescriptor()方法的一些代码示例,展示了TestContext.getTestDescriptor()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。TestContext.getTestDescriptor()方法的具体详情如下:
包路径:org.testifyproject.TestContext
类名称:TestContext
方法名:getTestDescriptor

TestContext.getTestDescriptor介绍

[英]Get the test class descriptor.
[中]获取测试类描述符。

代码示例

代码示例来源:origin: org.testifyproject.junit4/spring-system-test

@RuntimeType
public Class<?>[] getServletConfigClasses(@SuperCall Callable<Class<?>[]> zuper,
    @This Object object) throws Exception {
  Class<?>[] result = zuper.call();
  return TestContextHolder.INSTANCE.query(testContext -> {
    TestDescriptor testDescriptor = testContext.getTestDescriptor();
    Collection<Module> modules = testDescriptor.getModules();
    Stream<Class<?>> testModules = modules.stream().map(Module::value);
    Stream<Class<?>> productionModules = Stream.empty();
    if (result != null) {
      productionModules = Stream.of(result);
    }
    return Stream.concat(testModules, productionModules).toArray(Class[]::new);
  });
}

代码示例来源:origin: org.testifyproject.junit4/spring-boot-system-test

@Override
public SpringApplicationBuilder configure(TestContext testContext) {
  TestDescriptor testDescriptor = testContext.getTestDescriptor();
  ClassLoader classLoader = testDescriptor.getTestClassLoader();
  Optional<Application> foundApplication = testDescriptor.getApplication();
  SpringApplicationBuilder applicationBuilder = new SpringApplicationBuilder();
  foundApplication.ifPresent(application -> {
    applicationBuilder.sources(application.value())
        .resourceLoader(new DefaultResourceLoader(classLoader))
        .bannerMode(Banner.Mode.OFF);
  });
  return applicationBuilder;
}

代码示例来源:origin: org.testifyproject.junit4/jersey2-system-test

@Override
@SuppressWarnings("UseSpecificCatch")
public ResourceConfig configure(TestContext testContext) {
  TestContextHolder.INSTANCE.set(testContext);
  TestDescriptor testDescriptor = testContext.getTestDescriptor();
  Optional<Application> foundApplication = testDescriptor.getApplication();
  ResourceConfig resourceConfig = null;
  if (foundApplication.isPresent()) {
    Application application = foundApplication.get();
    resourceConfig = ReflectionUtil.INSTANCE.newInstance(application.value());
    resourceConfig.setApplicationName(testContext.getName());
  }
  return resourceConfig;
}

代码示例来源:origin: org.testifyproject.level/unit

@Override
public void stop(TestContext testContext) {
  Object testInstance = testContext.getTestInstance();
  TestDescriptor testDescriptor = testContext.getTestDescriptor();
  Collection<Class<? extends Annotation>> guidelines = testDescriptor.getGuidelines();
  serviceLocatorUtil
      .findAllWithFilter(PostVerifier.class, guidelines, UnitCategory.class)
      .forEach(p -> p.verify(testContext));
  testContext.verify();
  //invoke destroy method on fields annotated with Fixture
  testDescriptor.getFieldDescriptors()
      .forEach(p -> p.destroy(testInstance));
  //invoke destroy method on sut field annotated with Fixture
  testContext.getSutDescriptor()
      .ifPresent(p -> p.destroy(testInstance));
  testContext.<ServiceInstance>findProperty(SERVICE_INSTANCE)
      .ifPresent(ServiceInstance::destroy);
  resourceController.stop(testContext);
}

代码示例来源:origin: org.testifyproject.level/integration

@Override
public void stop(TestContext testContext) {
  Object testInstance = testContext.getTestInstance();
  TestDescriptor testDescriptor = testContext.getTestDescriptor();
  Collection<Class<? extends Annotation>> guidelines = testDescriptor.getGuidelines();
  serviceLocatorUtil
      .findAllWithFilter(PostVerifier.class, guidelines, IntegrationCategory.class)
      .forEach(p -> p.verify(testContext));
  testContext.verify();
  //invoke destroy method on fields annotated with Fixture
  testDescriptor.getFieldDescriptors()
      .forEach(p -> p.destroy(testInstance));
  //invoke destroy method on sut field annotated with Fixture
  testContext.getSutDescriptor()
      .ifPresent(p -> p.destroy(testInstance));
  if (resourceController != null) {
    resourceController.stop(testContext);
  }
  testContext.<ServiceInstance>findProperty(SERVICE_INSTANCE)
      .ifPresent(ServiceInstance::destroy);
}

代码示例来源:origin: org.testifyproject.level/system

@Override
public void stop(TestContext testContext) {
  TestDescriptor testDescriptor = testContext.getTestDescriptor();
  Object testInstance = testContext.getTestInstance();
  Optional<SutDescriptor> sutDescriptor = testContext.getSutDescriptor();

代码示例来源:origin: org.testifyproject.di/di-spring

@Override
public Object postProcessBeforeInstantiation(Class<?> beanClass, String beanName) {
  return testContext.getSutDescriptor().map(sutDescriptor -> {
    MockProvider mockProvider = testContext.getMockProvider();
    for (FieldDescriptor fieldDescriptor : testContext.getTestDescriptor()
        .getFieldDescriptors()) {
      if (!fieldDescriptor.getFake().isPresent()) {
        continue;
      }
      Type fieldType = fieldDescriptor.getGenericType();
      TypeToken fieldTypeToken = TypeToken.of(fieldType);
      TypeToken rawTypeToken = getRawTypeToken(fieldType);
      if (fieldTypeToken.isSupertypeOf(beanClass)) {
        Optional<Object> foundValue = fieldDescriptor.getValue(testContext
            .getTestInstance());
        if (foundValue.isPresent()) {
          return foundValue.get();
        }
      } else if (rawTypeToken.isSupertypeOf(beanClass)) {
        return mockProvider.createFake(beanClass);
      }
    }
    return null;
  }).orElse(null);
}

代码示例来源:origin: org.testifyproject.junit4/spring-system-test

@Override
  public ApplicationInstance start(TestContext testContext) {
    TestDescriptor testDescriptor = testContext.getTestDescriptor();
    Optional<Application> foundApplication = testDescriptor.getApplication();
    ApplicationInstance applicationInstance = null;

    if (foundApplication.isPresent()) {
      Application application = foundApplication.get();
      SpringApplicationInterceptor interceptor = new SpringApplicationInterceptor();
      ClassLoader classLoader = Thread.currentThread().getContextClassLoader();

      Class<?> dynamicApp = InstrumentUtil.INSTANCE.createSubclass(
          application.value(), classLoader, interceptor
      );
      SpringServletContainerInitializer initializer =
          new SpringServletContainerInitializer();

      ServletInstance servletInstance = ServletInstance.builder()
          .handler(dynamicApp)
          .initializer(initializer)
          .build();

      applicationInstance = DefaultApplicationInstance.of(testContext, application);
      applicationInstance.addProperty(ServletProperties.SERVLET_INSTANCE, servletInstance);
    }

    return applicationInstance;
  }
}

代码示例来源:origin: org.testifyproject.di/di-guice

throws Exception {
Injector result = TestContextHolder.INSTANCE.query(testContext -> {
  TestDescriptor testDescriptor = testContext.getTestDescriptor();
  Queue<Module> prodModules = new ConcurrentLinkedQueue<>();
  Queue<Module> testModules = new ConcurrentLinkedQueue<>();

代码示例来源:origin: org.testifyproject.di/di-hk2

@Override
public Object resolve(Injectee injectee, ServiceHandle root) {
  return testContext.getSutDescriptor().map(sutDescriptor -> {
    TestDescriptor testDescriptor = testContext.getTestDescriptor();
    MockProvider mockProvider = testContext.getMockProvider();
    Object testInstance = testContext.getTestInstance();
    Type requiredType = injectee.getRequiredType();
    for (FieldDescriptor fieldDescriptor : testDescriptor.getFieldDescriptors()) {
      if (fieldDescriptor.getFake().isPresent()) {
        Type fieldType = fieldDescriptor.getGenericType();
        Optional<Object> foundValue = fieldDescriptor.getValue(testInstance);
        if (TypeToken.of(fieldType).isSupertypeOf(requiredType) && foundValue
            .isPresent()) {
          return foundValue.get();
        } else if (getRawTypeToken(fieldType).isSupertypeOf(requiredType)) {
          return mockProvider.createFake(TypeToken.of(requiredType)
              .getRawType());
        }
      }
    }
    return null;
  }).orElseGet(() -> findThreeThirtyService(injectee, root));
}

代码示例来源:origin: org.testifyproject.di/di-jersey

@Override
public Object resolve(Injectee injectee, ServiceHandle root) {
  return testContext.getSutDescriptor().map(sutDescriptor -> {
    TestDescriptor testDescriptor = testContext.getTestDescriptor();
    MockProvider mockProvider = testContext.getMockProvider();
    Object testInstance = testContext.getTestInstance();
    Type requiredType = injectee.getRequiredType();
    for (FieldDescriptor fieldDescriptor : testDescriptor.getFieldDescriptors()) {
      if (fieldDescriptor.getFake().isPresent()) {
        Type fieldType = fieldDescriptor.getGenericType();
        Optional<Object> foundValue = fieldDescriptor.getValue(testInstance);
        if (TypeToken.of(fieldType).isSupertypeOf(requiredType) && foundValue
            .isPresent()) {
          return foundValue.get();
        } else if (getRawTypeToken(fieldType).isSupertypeOf(requiredType)) {
          return mockProvider.createFake(TypeToken.of(requiredType)
              .getRawType());
        }
      }
    }
    return null;
  }).orElseGet(() -> findThreeThirtyService(injectee, root));
}

代码示例来源:origin: org.testifyproject.di/di-guice

@Override
public List<Instance> get(TestContext testContext) {
  TestDescriptor testDescriptor = testContext.getTestDescriptor();
  MockProvider mockProvider = testContext.getMockProvider();
  Object testInstance = testContext.getTestInstance();

代码示例来源:origin: org.testifyproject.server/undertow

TestDescriptor testDescriptor = testContext.getTestDescriptor();

代码示例来源:origin: org.testifyproject.level/system

@Override
public void start(TestContext testContext) {
  TestConfigurer testConfigurer = testContext.getTestConfigurer();
  TestDescriptor testDescriptor = testContext.getTestDescriptor();
  Optional<SutDescriptor> foundSutDescriptor = testContext.getSutDescriptor();
  Object testInstance = testContext.getTestInstance();

代码示例来源:origin: org.testifyproject.level/unit

Object testInstance = testContext.getTestInstance();
TestConfigurer testConfigurer = testContext.getTestConfigurer();
TestDescriptor testDescriptor = testContext.getTestDescriptor();
Collection<Class<? extends Annotation>> guidelines = testDescriptor.getGuidelines();

代码示例来源:origin: org.testifyproject.di/di-jersey

@Override
public ServiceInstance configure(TestContext testContext, InjectionManager injectionManager) {
  TestDescriptor testDescriptor = testContext.getTestDescriptor();
  ClassLoader classLoader = testDescriptor.getTestClassLoader();
  JerseyInjectionResolver hK2InjectionResolver =
      new JerseyInjectionResolver(testContext, injectionManager);
  InstanceBinding<JerseyInjectionResolver> resolverBinding = Bindings
      .service(hK2InjectionResolver)
      .to(InjectionResolver.class)
      .in(Singleton.class);
  injectionManager.register(resolverBinding);
  addModules(injectionManager, testDescriptor);
  addScans(injectionManager, testDescriptor, classLoader);
  addInstances(injectionManager, testContext);
  return new JerseyServiceInstance(testContext, injectionManager);
}

代码示例来源:origin: org.testifyproject.level/integration

TestConfigurer testConfigurer = testContext.getTestConfigurer();
Optional<SutDescriptor> foundSutDescriptor = testContext.getSutDescriptor();
TestDescriptor testDescriptor = testContext.getTestDescriptor();
Collection<Class<? extends Annotation>> guidelines = testDescriptor.getGuidelines();

代码示例来源:origin: org.testifyproject.di/di-spring

testConfigurer.configure(testContext, applicationContext);
TestDescriptor testDescriptor = testContext.getTestDescriptor();
DefaultListableBeanFactory beanFactory =
    (DefaultListableBeanFactory) applicationContext.getBeanFactory();

代码示例来源:origin: org.testifyproject.di/di-hk2

if (testContext.getName().equals(locatorName)) {
  testContext.computeIfAbsent(SERVICE_INSTANCE, key -> {
    TestDescriptor testDescriptor = testContext.getTestDescriptor();
    ClassLoader classLoader = testDescriptor.getTestClassLoader();

代码示例来源:origin: org.testifyproject.junit4/spring-system-test

testConfigurer.configure(testContext, configuredContext);
TestDescriptor testDescriptor = testContext.getTestDescriptor();

相关文章