fixture-monkey

Let Fixture Monkey generate test instances including edge cases automatically

APACHE-2.0 License

Stars
432

Bot releases are hidden (Show)

fixture-monkey - 0.6.12

Published by seongahjo 12 months ago

0.6.12

  • Fix setting Just in setLazy.
  • Fix a bug in validOnly operation in ArbitraryBuilder.
  • Fix a bug in addContainerType, addDecomposedContainerValueFactory option, which is not working for an implementation of option type.
  • Remove jqwik-kotlin dependency in fixture-monkey-kotlin module.
  • Deprecate FixtureMonkeyOptions dependency in ObjectPropertyGeneratorContext, ContainerPropertyGeneratorContext.
  • Add addDecomposedContainerValueFactory option.
  • Add giveMeExperimentalBuilder for experimental features.

Experimental Feature

  • Add a new ArbitraryBuilder operation instantiate, instantiateBy for Kotlin, which specifies how to instantiate a given type.
    • Providing a static method constructor() for specifying that it instantiates a given type by constructor
    • Providing a static method factoryMethod() for specifying that it instantiates a given type by factory method
    • Providing a static method field(), javaBeansProperty() that subsequently sets a property for both constructor(), factoryMethod()
fixture-monkey - 0.6.11

Published by seongahjo almost 1 year ago

0.6.11

  • Add kotest module. Using it as a runtime of generating primitive types.
  • Add supporting a custom validator in Javax, Jakarta Bean Validation.
  • Add PropertySelecotr as a super type of ExpressionGenerator to abstract how to reference a property.
  • Fix a bug in size Map in thenApply operation.
  • Add option to resolve a seed for deterministic re-runs.
  • Fix set a nested self reference object.
fixture-monkey - 0.6.10

Published by seongahjo about 1 year ago

0.6.10

  • An anonymous object generated by Fixture Monkey could invoke a default method instead of invoking an arbitrary method.
fixture-monkey - 0.6.9

Published by seongahjo about 1 year ago

0.6.9

  • Fix sampleList always returns a same element with AnonymousArbitraryIntrospector.
  • Remove CombinableArbitrary.from(Arbitrary). Use ArbitraryUtils.toCombinableArbitrary instead.
  • Refactor CombinableArbitrary.from has a type parameter instead of wildcard type.
  • Fix generating self reference map type with different key type.
  • Refactor setPostCondition does not cause any performance issue.
  • Fix generating a unique key of Map.
  • Add new option javaConstraintGenerator which defines a constraint of String, Decimal type, Integer type, DateTime type, Container type.
fixture-monkey - 0.6.8

Published by seongahjo about 1 year ago

0.6.8

  • DefaultDecomposedContainerValueFactory supports Map.Entry
  • Fix a concurrency bug in PrimaryConstructorArbitraryIntrospector
fixture-monkey - 0.6.7

Published by seongahjo about 1 year ago

0.6.7

  • Deprecate List<Property> generateChildProperties(AnnotatedType annotatedType) in PropertyGenerator interface, it will be removed in 0.7.0
  • Add List<Property> generateChildProperties(Property property) in PropertyGenerator interface
fixture-monkey - 0.6.6

Published by seongahjo about 1 year ago

0.6.6

  • Fix omit if setting field is failed with FieldReflectionArbitraryIntrospector
  • Add More kotlin extensions in FixtureMonkeyBuilder.
fixture-monkey - 0.6.5

Published by seongahjo about 1 year ago

0.6.5

  • Fix generating type which has a self-reference without nullable in Kotlin
  • Fix generating type which has a property with generic in Kotlin
fixture-monkey - 0.6.4

Published by seongahjo about 1 year ago

0.6.4

  • Fix not set final property if using FieldReflectionArbitraryIntrospector
fixture-monkey - 0.6.3

Published by seongahjo about 1 year ago

0.6.3

  • Add supports generating ZoneId
  • Rename apply method to thenApply. apply is deprecated and would be removed in 0.7.0
  • Add JavaTypeArbitraryGeneratorSet, JavaTimeArbitraryGeneratorSet interfaces for generating Java supported primitive types.
  • Add javaTypeArbitraryGeneratorSet, javaTimeArbitraryGeneratorSet options.
  • Deprecate javaTypeArbitraryGenerator, javaArbitraryResolver,javaTimeTypeArbitraryGenerator, javaTimeArbitraryResolver options.
  • Fix errors generating complex generic including more than two depth generic in Jackson module. Such as List<List<ComplexObject>>, Map<String, List<ComplexObject>>
fixture-monkey - 0.6.2

Published by seongahjo over 1 year ago

0.6.2

  • CombinableArbitrary could generate a unique object.
  • Add options for modifying the number of object generation and the number of object unique generation.
  • Add defaultArbitraryGenerator option for extending CombinableArbitrary functionality.
  • Deprecate defaultArbitraryGenerator plugin option .
  • Deprecate arbitraryGenerators option.
fixture-monkey - 0.6.1

Published by seongahjo over 1 year ago

New Features

  • Supports the parallel tests.
fixture-monkey - 0.6.0

Published by seongahjo over 1 year ago

New Feature

  • Enhances fixed performance, reduces execution time by half.
  • Replaces Jqwik dependency in combining an object or a container with CombinableArbitrary interface.
  • Introduces FailoverIntrospector, which generates an object using two or more ArbitraryIntrospectors.
  • Adds logging when fails to generate an object.
  • Rename the option to FixtureMonkeyOptions from GenerateOptions.
  • Supports Pair, Triple in Kotlin module.
  • Adds fixture-monkey-jakarta-validation module as a default module in fixture-monkey-starter.
  • Adds a EL dependency in fixture-monkey-jakarta-validation and fixture-monkey-javax-validation

Removed Class

All deprecated class in 0.5.x would be removed.

  • FixtureCustomizer
  • ManipulateOptions
  • IteratorCache, LruCache, StreamCache in api/collection
  • PropertyCache
  • PropertyGenerator in api/generator
  • DefaultPropertyGenerator in api/generator
  • KotlinPropertyGenerator in api/generator
  • CompositeArbitraryValidator and DefaultArbitraryValidator
  • EntryIntrospector
fixture-monkey - 0.5.9

Published by seongahjo over 1 year ago

0.5.9

  • IteratorCache, LruCache, StreamCache move from api/collection to api/container for consistency.
  • DecomposedContainerValueFactory moves to api module and be a part of GenerateOptions option.
fixture-monkey - 0.5.8

Published by seongahjo over 1 year ago

0.5.8

  • Fix Arbitrary returns a same instance in the specific case.
  • Deprecate PropertyCache
  • Fix Intermittent NPE in kotlin.
fixture-monkey - 0.5.7

Published by seongahjo over 1 year ago

0.5.7

New Features

  • Supports generating a interface field with @JsonSubTypes and @JsonTypeInfo annotations.
  • Adds a new fluent way to register BuilderGroup. @chanhyeong
  • Supports generating a custom type inherits Java Collection type.
  • Adds a warning log if Fixture Monkey could not generate a field instead of throwing an exception.
  • Supports generating an array type with generic.
  • Refactor KotlinPropertyGenerator could resolve a Java Property .
  • Refactor JacksonObjectArbitraryIntrospector only generates a field, setter/getter, constructor property same as Jackson's default setting.
  • Fix Kotlin Property getValue error.

Deprecated

  • FixtureCustomizer is now deprecated. It would be removed in 0.6.0.
  • Remove retention policy CLASS annotations in DefaultNullInjectGenerator @jbl428
fixture-monkey - 0.5.6

Published by seongahjo over 1 year ago

0.5.6

New Features

  • Generates container type using Jackson.
  • Fix FixtureCustomizer working when using JacksonPlugin
  • Fix JakartaValidationPlugin working
  • Replaces EntryIntrospector with MapEntryIntrospector

Deprecate

  • EntryIntrospector is deprecated. It would be removed in 0.6.0
fixture-monkey - 0.5.5

Published by seongahjo over 1 year ago

0.5.5

  • Supports generating an interface as an anonymous instance.
fixture-monkey - 0.5.4

Published by seongahjo over 1 year ago

0.5.4

  • Fix generating sealed class bugs in 0.5.3
  • Remove supporting @JsonTypeInfo, @JsonSubTypes
  • Add convenient InnerSpec methods for setting multiple map entries by one simple method
    • keys
    • values
    • entries
fixture-monkey - 0.5.3

Published by seongahjo over 1 year ago

0.5.3

New Features

  • Supports generating sealed class in Kotlin.
  • Supports generating interface or abstract class specified by @JsonTypeInfo and @JsonSubTypes in Jackson module.
  • Add implementations of PropertyGenerator, it helps to specify which properties are going to use.
    • ConstructorParameterPropertyGenerator
    • FieldPropertyGenerator
    • JavaBeansPropertyGenerator

Deprecated

  • MonkeyExpressionFactory option is deprecated. It would be removed in 0.6.0