Add support for using the class name in parameterised operation name

This commit adds support for three new placeholders that can be used
when specifying the name of an operation: {ClassName}, {class-name},
and {class_name}. This allows the operation name to be configured once
in an abstract superclass and reused across multiple test classes.

Closes gh-116
This commit is contained in:
Andy Wilkinson
2015-09-13 16:39:54 +01:00
parent ebab967e43
commit df40f63238
3 changed files with 64 additions and 11 deletions

View File

@@ -32,14 +32,14 @@ import org.springframework.util.PropertyPlaceholderHelper.PlaceholderResolver;
public class RestDocumentationContextPlaceholderResolverTests {
@Test
public void dashSeparatedMethodName() throws Exception {
public void kebabCaseMethodName() throws Exception {
assertThat(
createResolver("dashSeparatedMethodName").resolvePlaceholder(
"method-name"), equalTo("dash-separated-method-name"));
}
@Test
public void underscoreSeparatedMethodName() throws Exception {
public void snakeCaseMethodName() throws Exception {
assertThat(
createResolver("underscoreSeparatedMethodName").resolvePlaceholder(
"method_name"), equalTo("underscore_separated_method_name"));
@@ -52,14 +52,37 @@ public class RestDocumentationContextPlaceholderResolverTests {
equalTo("camelCaseMethodName"));
}
@Test
public void kebabCaseClassName() throws Exception {
assertThat(createResolver().resolvePlaceholder("class-name"),
equalTo("rest-documentation-context-placeholder-resolver-tests"));
}
@Test
public void snakeCaseClassName() throws Exception {
assertThat(createResolver().resolvePlaceholder("class_name"),
equalTo("rest_documentation_context_placeholder_resolver_tests"));
}
@Test
public void camelCaseClassName() throws Exception {
assertThat(createResolver().resolvePlaceholder("ClassName"),
equalTo("RestDocumentationContextPlaceholderResolverTests"));
}
@Test
public void stepCount() throws Exception {
assertThat(createResolver("stepCount").resolvePlaceholder("step"), equalTo("0"));
}
private PlaceholderResolver createResolver() {
return new RestDocumentationContextPlaceholderResolver(
new RestDocumentationContext(getClass(), null, null));
}
private PlaceholderResolver createResolver(String methodName) {
return new RestDocumentationContextPlaceholderResolver(
new RestDocumentationContext(null, methodName, null));
new RestDocumentationContext(getClass(), methodName, null));
}
}