@Documented @Target(value=METHOD) @Retention(value=RUNTIME) @ArgumentsSource(value=EventsArgumentsProvider.class) public @interface Events
ParameterizedTest.Several notations are possible according to what you want to do:
folder parameter is the more straightforward, and it will use all files in the folder
@ParameterizedTest
@Events(folder = "sqs", type = SQSEvent.class)
public void testInjectEventsFromFolder(SQSEvent event) {
assertThat(event).isNotNull();
assertThat(event.getRecords()).hasSize(1);
}
Events
@ParameterizedTest
@Events(
events = {
@Event("sqs/sqs_event.json"),
@Event("sqs/sqs_event2.json"),
},
type = SQSEvent.class
)
public void testInjectEvents(SQSEvent event) {
assertThat(event).isNotNull();
assertThat(event.getRecords()).hasSize(1);
}
@ParameterizedTest
@Events(
events = {
@Event(value = "sqs/sqs_event.json", type = SQSEvent.class),
@Event(value = "sqs/sqs_event2.json", type = SQSEvent.class),
}
)
public void testInjectEvents2(SQSEvent event) {
assertThat(event).isNotNull();
assertThat(event.getRecords()).hasSize(1);
}
| Modifier and Type | Optional Element and Description |
|---|---|
Event[] |
events
Mutually exclusive with folder
|
java.lang.String |
folder
Folder where to find json files containing events
|
java.lang.Class<?> |
type
Type of the events (for example, one of the aws-lambda-java-events), or your own type
|
public abstract java.lang.String folder
public abstract java.lang.Class<?> type
public abstract Event[] events
Copyright © 2021. All rights reserved.