Highlights
- Some bugs have been fixed
- Module refactoring: JSON, as the standard persistence for the recorder, was tied closely to the JUnit-annotations. This was not only a theoretical design flaw (a violation of the separation-of-concern principle), it also prevented the usage of other persistence plugins together with annotation based configuration of JUnit-tests. To solve this, we introduced the new module
deepsampler-junit-json
. All json-specific annotations have been moved fromdeepsampler-junit
to this new module. (See new dependencies) - Custom annotations for loading and recording with custom persistence: The new meta annotations @UseSourceManagerForSaving and @UseSourceManagerForLoading can now be used to create custom annotations for loading and recording samples using custom persistence plugins. See Authoring custom persistence extensions
- BeanConverterExtension for Optional:
Optional
s can now be recorded without writing a customBeanConverterExtension
. See OptionalExtension - Charset configuration: The new annotation @UseCharset allows to define the charset, that is used during recording and loading of samples
Migration from older versions
New Module
Due to the module refactoring, a new additional dependency must be added:
<dependency>
<groupId>de.ppi</groupId>
<artifactId>deepsampler-junit-json</artifactId>
<version>2.1.0</version>
<scope>test</scope>
</dependency>
Package refactoring
Also, as a result of the module refactoring, some annotations have been moved to a new package:
de.ppi.deepsampler.junit.LoadSamples
has been moved tode.ppi.deepsampler.junit.json
de.ppi.deepsampler.junit.SaveSamples
has been moved tode.ppi.deepsampler.junit.json
de.ppi.deepsampler.junit.UseJsonDeserializer
has been moved tode.ppi.deepsampler.junit.json
de.ppi.deepsampler.junit.UseJsonDeserializers
has been moved tode.ppi.deepsampler.junit.json
de.ppi.deepsampler.junit.UseJsonSerializer
has been moved tode.ppi.deepsampler.junit.json
de.ppi.deepsampler.junit.UseJsonSerializers
has been moved tode.ppi.deepsampler.junit.json
Details
- Bug #107 json recorder is missing charset config by @JanSchankin in #108
- 🥯 #109 Introduction of a BeanConverterExtension for Optional by @JanSchankin in #110
- 🔨 CollectionExtension should be able to deal with missing generics by @JanSchankin in #112
- 🧪 #93 json is now separated and has it's own annotation-module by @JanSchankin in #113
- 🚢 #93 documentation for new module by @JanSchankin in #114
- Persistence matcher simplification by @JanSchankin in #116
- 🌠 Error message offers now a solution. by @JanSchankin in #117
- 🧽 Cleanup by @JanSchankin in #118
- 🔨 Introduction of central dependency management by @JanSchankin in #119
- 🔨 Additional, and hopefully better understandable combo() method by @JanSchankin in #138
- 🚀 switched to release 2.1.0 by @JanSchankin in #140
Update of dependencies
- Bump spring-aop from 5.2.8.RELEASE to 5.3.19 by @dependabot in #124
- Bump spring-test from 5.2.8.RELEASE to 5.3.19 by @dependabot in #120
- Bump junit from 4.13 to 4.13.2 by @dependabot in #121
- Bump com.vanniktech.maven.publish from 0.18.0 to 0.19.0 by @dependabot in #129
- Bump mockito-junit-jupiter from 4.3.1 to 4.5.1 by @dependabot in #127
- Bump jackson-databind from 2.11.0 to 2.13.2.2 by @dependabot in #126
- Bump guice from 4.0 to 5.1.0 by @dependabot in #125
- Bump spring-context from 5.2.8.RELEASE to 5.3.19 by @dependabot in #131
- Bump objenesis from 3.1 to 3.2 by @dependabot in #134
- Bump mockito-core from 4.3.1 to 4.5.0 by @dependabot in #133
- Bump jackson-datatype-jsr310 from 2.11.0 to 2.13.2 by @dependabot in #130
- Bump javassist from 3.27.0-GA to 3.28.0-GA by @dependabot in #132
- Bump jackson-module-parameter-names from 2.11.0 to 2.13.2 by @dependabot in #137
- Bump aspectjweaver from 1.9.6 to 1.9.9.1 by @dependabot in #136
- Bump assertj-core from 3.21.0 to 3.22.0 by @dependabot in #135
New Contributors
- @dependabot made their first contribution in #124
Full Changelog: v1.1.0...v2.1.0