toolisticon / jgiven-kotlin Goto Github PK
View Code? Open in Web Editor NEWExtensions to make working with jgiven.org and Kotlin even more fun
License: Apache License 2.0
Extensions to make working with jgiven.org and Kotlin even more fun
License: Apache License 2.0
--
The default "expectEvent(s)" does an equals comparison of the caught events and passed expected events, which fails when values are set in the commandhandler that are not under control of the caller (generated aggregateId, generated timestamps, ...).
Idea: capture the actual events as in mockitos ArgumentCaptor and then assert manually on that list of events.
see #60
A vararg collection in my test report is rendered as Then expect events: "[Ljava.lang.Object;@5a90fcaa"
.
Kotlins varargs are not correctly identified as List by the core tool.
There has been an open issue and PR for years now, let's move it to this extension, and maybe one day, when jgiven supports kotlin natively, we can throw it away again.
jgiven-addons is supoerseeded and archived as a repo and should point to this repo.
also sets semVer to 1.3.0.0
Assuming this lib is stable, we used the same version as jgiven. But what if we need/want to provide new versions of this extension for the same jgiven-version?
Solution: use 4 digits. the first 3 are the used jgiven version (1.2.2), the last our "build number" for the extension.
next release would be 1.2.2.1
//
we can save 500 lines of xml and centralize core dep-management if we switch to the common parent for kotlin libs.
jgiven-kotlin has no transitive dependency to jgiven, this reuires additional dependencies in the project using this extension. We should leave this as is for the core but provide modules for spring-junit5 and junit5 to make usage of jgiven with kotlin easier ...
Imho there is no need to provide junit4 modules as well.
This lib is pretty much feature complete ... I would couple the release version to jgiven and say: this is a 1.0.0 now.
Objections, @zambrovski ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.