## org.springframework.test.annotation
Annotation Type IfProfileValue

    @Documented
    @Inherited
    @Retention(value=RUNTIME)
    @Target(value={TYPE,METHOD})
    public @interface IfProfileValue

Test annotation to indicate that a test is enabled for a specific testing profile or environment. If the configured `ProfileValueSource` returns a matching `value` for the provided `name`, the test will be enabled.

Note: `@IfProfileValue` can be applied at the class level, the method level, or both. `@IfProfileValue` at the class level overrides method-level usage of `@IfProfileValue` for any methods within that class.

Examples: when using `SystemProfileValueSource` as the `ProfileValueSource` implementation, you can configure a test method to run only on Java VMs from Sun Microsystems as follows:

     @IfProfileValue(name = "java.vendor", value = "Sun Microsystems Inc.")
     public void testSomething() {
            // ...
     }

You can alternatively configure `@IfProfileValue` with OR semantics for multiple `values` as follows (assuming a `ProfileValueSource` has been appropriately configured for the "test-groups" name):

     @IfProfileValue(name = "test-groups", values = { "unit-tests", "integration-tests" })
     public void testWhichRunsForUnitOrIntegrationTestGroups() {
            // ...
     }

Since:
  2.0
Author:
  Rod Johnson, Sam Brannen
See Also:
  `ProfileValueSource`, `ProfileValueSourceConfiguration`, `ProfileValueUtils`, `AbstractJUnit38SpringContextTests`, `AbstractJUnit4SpringContextTests`, `SpringJUnit4ClassRunner`

Required Element Summary
`String` `name` The `name` of the profile value against which to test.

Optional Element Summary
`String` `value` A single, permissible `value` of the profile value for the given `name`.
`String[]` `values` A list of all permissible `values` of the profile value for the given `name`.

Element Detail

### name

    public abstract String name

  The `name` of the profile value against which to test.

### value

    public abstract String value

  A single, permissible `value` of the profile value for the given `name`.

  Note: Assigning values to both `value()` and `values()` will lead to a configuration conflict.

  Default:
    ""

### values

    public abstract String[] values

  A list of all permissible `values` of the profile value for the given `name`.

  Note: Assigning values to both `value()` and `values()` will lead to a configuration conflict.

  Default:
    {}