當前位置: 首頁>>代碼示例>>Java>>正文


Java TestClass類代碼示例

本文整理匯總了Java中org.junit.runners.model.TestClass的典型用法代碼示例。如果您正苦於以下問題:Java TestClass類的具體用法?Java TestClass怎麽用?Java TestClass使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


TestClass類屬於org.junit.runners.model包,在下文中一共展示了TestClass類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: shouldInitializeInjectDelayedField

import org.junit.runners.model.TestClass; //導入依賴的package包/類
@Test
public void shouldInitializeInjectDelayedField() throws Throwable {
    // given - test class with initialized @Mock fields
    DelayedInjectionRunnerIntegrationTest runnerTest = new DelayedInjectionRunnerIntegrationTest();
    MockitoAnnotations.initMocks(runnerTest);

    TestClass testClass = new TestClass(runnerTest.getClass());
    Statement nextStatement = mock(Statement.class);
    List<FrameworkField> injectDelayedFields = testClass.getAnnotatedFields(InjectDelayed.class);
    assertThat(injectDelayedFields, hasSize(1)); // assumption
    RunDelayedInjects runDelayedInjects =
        new RunDelayedInjects(nextStatement, testClass, runnerTest, injectDelayedFields);

    // when
    runDelayedInjects.evaluate();

    // then
    assertThat(ReflectionUtils.getFieldValue(injectDelayedFields.get(0).getField(), runnerTest), not(nullValue()));
    verify(nextStatement).evaluate();
}
 
開發者ID:ljacqu,項目名稱:DependencyInjector,代碼行數:21,代碼來源:RunDelayedInjectsTest.java

示例2: shouldFindPossibleAssignmentsFromMethod

import org.junit.runners.model.TestClass; //導入依賴的package包/類
@Test
public void shouldFindPossibleAssignmentsFromMethod() throws Throwable {
    this.assignments = new PotentialAssignments(new TestClass(AssignmentsFromMethod.class));
    final List<Assignment> assignments = this.assignments.allPossible().collect(Collectors.toList());

    assertThat(assignments).hasSize(2);

    ArrayList<ParameterSignature> parameterSignature =
            ParameterSignature.signatures(AssignmentsFromMethod.class.getMethod("a", String.class));

    assertThat(assignments.get(0).isValidFor(parameterSignature.get(0)));
    assertThat(assignments.get(0).parameterProducer().produceParamValue()).isEqualTo("42");

    assertThat(assignments.get(1).isValidFor(parameterSignature.get(0)));
    assertThat(assignments.get(1).parameterProducer().produceParamValue()).isEqualTo("27");
}
 
開發者ID:SeriyBg,項目名稱:junit-easy-tools,代碼行數:17,代碼來源:PotentialAssignmentsTest.java

示例3: createRunners

import org.junit.runners.model.TestClass; //導入依賴的package包/類
private static List<Runner> createRunners(final Class<?> clazz) throws InitializationError {
    final ValueConverter defaultValueConverter = getDefaultValueConverter(clazz);
    final List<Runner> runners = new ArrayList<>();
    final Table classWideTable = classWideTableOrNull(clazz);
    if (classWideTable != null) {
        for (final TableRow row : classWideTable) {
            runners.add(new SingleRowMultiTestRunner(clazz, row, defaultValueConverter));
        }
    } else {
        for (final FrameworkMethod testMethod : new TestClass(clazz).getAnnotatedMethods(Test.class)) {
            final Spockito.UseValueConverter useValueConverter = testMethod.getAnnotation(Spockito.UseValueConverter.class);
            final ValueConverter methodValueConverter = Spockito.getValueConverter(useValueConverter, defaultValueConverter);
            runners.add(new SingleTestMultiRowRunner(clazz, testMethod, methodValueConverter));
        }
    }
    return runners;
}
 
開發者ID:tools4j,項目名稱:spockito,代碼行數:18,代碼來源:Spockito.java

示例4: BytecoderUnitTestRunner

import org.junit.runners.model.TestClass; //導入依賴的package包/類
public BytecoderUnitTestRunner(Class aClass) throws InitializationError {
    super(aClass);
    testClass = new TestClass(aClass);
    testMethods = new ArrayList<>();

    Method[] classMethods = aClass.getDeclaredMethods();
    for (Method classMethod : classMethods) {
        Class retClass = classMethod.getReturnType();
        int length = classMethod.getParameterTypes().length;
        int modifiers = classMethod.getModifiers();
        if (retClass == null || length != 0 || Modifier.isStatic(modifiers)
                || !Modifier.isPublic(modifiers) || Modifier.isInterface(modifiers)
                || Modifier.isAbstract(modifiers)) {
            continue;
        }
        String methodName = classMethod.getName();
        if (methodName.toUpperCase().startsWith("TEST")
                || classMethod.getAnnotation(Test.class) != null) {
            testMethods.add(new FrameworkMethod(classMethod));
        }
        if (classMethod.getAnnotation(Ignore.class) != null) {
            testMethods.remove(classMethod);
        }
    }
}
 
開發者ID:mirkosertic,項目名稱:Bytecoder,代碼行數:26,代碼來源:BytecoderUnitTestRunner.java

示例5: shouldProvideMock

import org.junit.runners.model.TestClass; //導入依賴的package包/類
@Test
public void shouldProvideMock() throws Exception {
    // given
    DelayedInjectionRunnerIntegrationTest runnerTest = new DelayedInjectionRunnerIntegrationTest();
    MockitoAnnotations.initMocks(runnerTest);
    TestClass testClass = new TestClass(runnerTest.getClass());
    MockDependencyHandler mockDependencyHandler = new MockDependencyHandler(testClass, runnerTest);
    AlphaService alphaService = mock(AlphaService.class);
    given(injector.getIfAvailable(AlphaService.class)).willReturn(alphaService);

    // when
    Resolution<?> value = mockDependencyHandler.resolve(newContext(AlphaService.class));

    // then
    assertThat(unwrapFromSimpleResolution(value) == alphaService, equalTo(true));
    verify(injector).register(eq(AlphaService.class), any(AlphaService.class));
    verify(injector).register(eq(ClassWithAbstractDependency.AbstractDependency.class),
        any(ClassWithAbstractDependency.AbstractDependency.class));
    verify(injector).getIfAvailable(AlphaService.class);
}
 
開發者ID:ljacqu,項目名稱:DependencyInjector,代碼行數:21,代碼來源:MockDependencyHandlerTest.java

示例6: shouldThrowForUnavailableMock

import org.junit.runners.model.TestClass; //導入依賴的package包/類
@Test
public void shouldThrowForUnavailableMock() {
    // given
    DelayedInjectionRunnerIntegrationTest runnerTest = new DelayedInjectionRunnerIntegrationTest();
    MockitoAnnotations.initMocks(runnerTest);
    TestClass testClass = new TestClass(runnerTest.getClass());
    MockDependencyHandler mockDependencyHandler = new MockDependencyHandler(testClass, runnerTest);
    given(injector.getIfAvailable(AlphaService.class)).willReturn(null);

    // when
    try {
        mockDependencyHandler.resolve(newContext(AlphaService.class));
        fail("Expected exception to be thrown");
    } catch (InjectorException e) {
        assertThat(e.getMessage(), containsString("dependencies of @InjectDelayed must be provided as @Mock"));
        verify(injector, times(3)).register(any(Class.class), any(Object.class));
        verify(injector).getIfAvailable(AlphaService.class);
    }
}
 
開發者ID:ljacqu,項目名稱:DependencyInjector,代碼行數:20,代碼來源:MockDependencyHandlerTest.java

示例7: shouldThrowForAlreadyInitializedField

import org.junit.runners.model.TestClass; //導入依賴的package包/類
@Test
public void shouldThrowForAlreadyInitializedField() throws Throwable {
    // given - test class with initialized @Mock fields
    DelayedInjectionRunnerIntegrationTest runnerTest = new DelayedInjectionRunnerIntegrationTest();
    MockitoAnnotations.initMocks(runnerTest);

    TestClass testClass = new TestClass(runnerTest.getClass());
    Statement nextStatement = mock(Statement.class);
    List<FrameworkField> injectDelayedFields = testClass.getAnnotatedFields(InjectDelayed.class);
    assertThat(injectDelayedFields, hasSize(1)); // assumption
    ReflectionUtils.setField(injectDelayedFields.get(0).getField(), runnerTest, mock(SampleInjectClass.class));
    RunDelayedInjects runDelayedInjects =
            new RunDelayedInjects(nextStatement, testClass, runnerTest, injectDelayedFields);

    // when
    try {
        runDelayedInjects.evaluate();
        fail("Expected exception to be thrown");
    } catch (Exception e) {
        assertThat(e.getMessage(), containsString("Field with @InjectDelayed must be null"));
    }
}
 
開發者ID:ljacqu,項目名稱:DependencyInjector,代碼行數:23,代碼來源:RunDelayedInjectsTest.java

示例8: shouldValidateUnsuccessfullyForInjectMocksPresence

import org.junit.runners.model.TestClass; //導入依賴的package包/類
@Test
public void shouldValidateUnsuccessfullyForInjectMocksPresence() throws Exception {
    // given
    RunNotifier notifier = mock(RunNotifier.class);
    TestClass testClass = new TestClass(getClass());
    DelayedInjectionRunnerValidator validator = new DelayedInjectionRunnerValidator(notifier, testClass);
    Description description = mock(Description.class);

    // when
    validator.testFinished(description);

    // then
    ArgumentCaptor<Failure> captor = ArgumentCaptor.forClass(Failure.class);
    verify(notifier).fireTestFailure(captor.capture());
    Failure failure = captor.getValue();
    assertThat(failure.getMessage(), containsString("Do not use @InjectMocks"));
}
 
開發者ID:ljacqu,項目名稱:DependencyInjector,代碼行數:18,代碼來源:DelayedInjectionRunnerValidatorTest.java

示例9: getServices

import org.junit.runners.model.TestClass; //導入依賴的package包/類
protected ServiceTest[] getServices()
{
  TestClass test = getTestClass();

  ServiceTests config
    = test.getAnnotation(ServiceTests.class);

  if (config != null)
    return config.value();

  Annotation[] annotations = test.getAnnotations();

  List<ServiceTest> list = new ArrayList<>();

  for (Annotation annotation : annotations) {
    if (ServiceTest.class.isAssignableFrom(annotation.getClass()))
      list.add((ServiceTest) annotation);
  }

  return list.toArray(new ServiceTest[list.size()]);
}
 
開發者ID:baratine,項目名稱:baratine,代碼行數:22,代碼來源:BaseRunner.java

示例10: createTestUsingFieldInjection

import org.junit.runners.model.TestClass; //導入依賴的package包/類
/**
 * @see BlockJUnit4ClassRunnerWithParameters#createTestUsingFieldInjection()
 */
private static Object createTestUsingFieldInjection(TestClass testClass, Object[] parameters) throws Exception {
    List<FrameworkField> annotatedFieldsByParameter = getAnnotatedFieldsByParameter(testClass);
    if (annotatedFieldsByParameter.size() != parameters.length) {
        throw new Exception("Wrong number of parameters and @Parameter fields." + " @Parameter fields counted: " + annotatedFieldsByParameter.size()
                + ", available parameters: " + parameters.length + ".");
    }
    Object testClassInstance = testClass.getJavaClass().newInstance();
    for (FrameworkField each : annotatedFieldsByParameter) {
        Field field = each.getField();
        Parameterized.Parameter annotation = field.getAnnotation(Parameterized.Parameter.class);
        int index = annotation.value();
        try {
            field.set(testClassInstance, parameters[index]);
        } catch (IllegalArgumentException iare) {
            throw new Exception(
                    testClass.getName() + ": Trying to set " + field.getName() + " with the value " + parameters[index] + " that is not the right type ("
                            + parameters[index].getClass().getSimpleName() + " instead of " + field.getType().getSimpleName() + ").",
                    iare);
        }
    }
    return testClassInstance;
}
 
開發者ID:PeterWippermann,項目名稱:parameterized-suite,代碼行數:26,代碼來源:BlockJUnit4ClassRunnerWithParametersUtil.java

示例11: buildStatementWithTestRules

import org.junit.runners.model.TestClass; //導入依賴的package包/類
/**
 * Extends a given {@link Statement} for a {@link TestClass} with the evaluation of
 * {@link TestRule}, {@link ClassRule}, {@link Before} and {@link After}.
 * <p>
 * Therefore the test class will be instantiated and parameters will be injected with the same
 * mechanism as in {@link Parameterized}.
 * 
 * Implementation has been extracted from BlockJUnit4ClassRunner#methodBlock(FrameworkMethod).
 * 
 * @param baseStatementWithChildren - A {@link Statement} that includes execution of the test's
 *        children
 * @param testClass - The {@link TestClass} of the test.
 * @param description - The {@link Description} will be passed to the {@link Rule}s and
 *        {@link ClassRule}s.
 * @param singleParameter - The parameters will be injected in attributes annotated with
 *        {@link Parameterized.Parameter} or passed to the constructor otherwise.
 * 
 * @see BlockJUnit4ClassRunnerWithParameters#createTest()
 * @see BlockJUnit4ClassRunner#methodBlock(FrameworkMethod)
 */
public static Statement buildStatementWithTestRules(Statement baseStatementWithChildren, final TestClass testClass, Description description,
        final Object[] singleParameter) {
    final Object test;
    try {
        test = new ReflectiveCallable() {
            protected Object runReflectiveCall() throws Throwable {
                return createInstanceOfParameterizedTest(testClass, singleParameter);
            }
        }.run();
    } catch (Throwable e) {
        return new Fail(e);
    }

    List<TestRule> testRules = BlockJUnit4ClassRunnerUtil.getTestRules(test, testClass);
    Statement statement = BlockJUnit4ClassRunnerUtil.withTestRules(testRules, description, baseStatementWithChildren);

    statement = ParentRunnerUtil.withBeforeClasses(statement, testClass);
    statement = ParentRunnerUtil.withAfterClasses(statement, testClass);
    statement = ParentRunnerUtil.withClassRules(statement, testClass, description);
    return statement;
}
 
開發者ID:PeterWippermann,項目名稱:parameterized-suite,代碼行數:42,代碼來源:BlockJUnit4ClassRunnerWithParametersUtil.java

示例12: getOrCreateInjectorProvider

import org.junit.runners.model.TestClass; //導入依賴的package包/類
public static IInjectorProvider getOrCreateInjectorProvider(TestClass testClass) {
	InjectWith injectWith = testClass.getJavaClass().getAnnotation(InjectWith.class);
	if (injectWith != null) {
		Class<? extends IInjectorProvider> klass = injectWith.value();
		IInjectorProvider injectorProvider = injectorProviderClassCache.get(klass);
		if (injectorProvider == null) {
			try {
				injectorProvider = klass.newInstance();
				injectorProviderClassCache.put(klass, injectorProvider);
			} catch (Exception e) {
				throwUncheckedException(e);
			}
		}
		return injectorProvider;
	}
	return null;
}
 
開發者ID:eclipse,項目名稱:xtext-core,代碼行數:18,代碼來源:InjectorProviders.java

示例13: runBootstrapTest

import org.junit.runners.model.TestClass; //導入依賴的package包/類
protected boolean runBootstrapTest(RunNotifier notifier, TestClass testClass) {
    if (!runningBootstrapTest.get().booleanValue()) {
        runningBootstrapTest.set(Boolean.TRUE);
        try {
            BootstrapTest bootstrapTest = getBootstrapTestAnnotation(testClass.getJavaClass());
            if (bootstrapTest != null) {
                Result result = JUnitCore.runClasses(bootstrapTest.value());
                List<Failure> failures = result.getFailures();
                for (Failure failure : failures) {
                    notifier.fireTestFailure(failure);
                }
                return result.getFailureCount() == 0;
            } else {
                throw new IllegalStateException("LoadTimeWeavableTestRunner, must be coupled with an @BootstrapTest annotation to define the bootstrap test to execute.");
            }
        } finally {
            runningBootstrapTest.set(Boolean.FALSE);
        }
    }
    return true;
}
 
開發者ID:kuali,項目名稱:kc-rice,代碼行數:22,代碼來源:LoadTimeWeavableTestRunner.java

示例14: getParameterizations

import org.junit.runners.model.TestClass; //導入依賴的package包/類
/**
 * Gets the parameterization
 * @return the parameterization collection
 * @throws Throwable if the annotation requirements are not met, or if there's an error in invoking
 * the class's "get parameterizations" method.
 */
private Collection<Parameterization> getParameterizations() throws Throwable
{
    TestClass cls = getTestClass();
    List<FrameworkMethod> methods = cls.getAnnotatedMethods(TestParameters.class);

    if (methods.size() != 1)
    {
        throw new Exception("class " + cls.getName() + " must have exactly 1 method annotated with "
            + TestParameters.class.getSimpleName() +"; found " + methods.size());
    }

    FrameworkMethod method = methods.get(0);
    checkParameterizationMethod(method);

    @SuppressWarnings("unchecked")
    Collection<Parameterization> ret = (Collection<Parameterization>) method.invokeExplosively(null);
    checkParameterizations(ret);
    return ret;
}
 
開發者ID:jaytaylor,項目名稱:sql-layer,代碼行數:26,代碼來源:NamedParameterizedRunner.java

示例15: createTest

import org.junit.runners.model.TestClass; //導入依賴的package包/類
@Override
protected Object createTest()
    throws Exception
{
    final TestClass testClass = getTestClass();

    final DefaultContainerConfiguration config = new DefaultContainerConfiguration();

    config.setAutoWiring( true );
    config.setClassPathScanning( PlexusConstants.SCANNING_ON );
    config.setComponentVisibility( PlexusConstants.GLOBAL_VISIBILITY );
    config.setName( testClass.getName() );

    final DefaultPlexusContainer container = new DefaultPlexusContainer( config );
    final ClassSpace cs = new URLClassSpace( Thread.currentThread()
                                                   .getContextClassLoader() );

    container.addPlexusInjector( Arrays.<PlexusBeanModule> asList( new PlexusAnnotatedBeanModule(
                                                                                                  cs,
                                                                                                  Collections.emptyMap() ) ) );

    return container.lookup( testClass.getJavaClass() );
}
 
開發者ID:release-engineering,項目名稱:pom-manipulation-ext,代碼行數:24,代碼來源:PlexusTestRunner.java


注:本文中的org.junit.runners.model.TestClass類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。