Skip to content

wouter-bauweraerts/UnitSocializer

Repository files navigation

UnitSocializer

standard-readme compliant

WIP

This project is still under development and is not ready to be used just yet! The minimum required features to provide value for your project haven't been completely implemented! Watch this project and or follow me on social media for updates:

Table of contents

Background

This library is all about writing simple, readable and qualitative tests that focus on behavior instead of focussing on the technical implementation. Many tests are coupled to the implementation because they use mocking and stubbing to have control over interactions between classes. This is something you often see in Solitary Unit Tests.

This library focusses on writing Sociable Unit Tests instead. A solitary unit test may look like an integration test, but there is a big difference! A sociable unit test is still a unit test, only with a bigger unit! The main advantage of writing sociable tests is that they are more robust! They can still be green after refactoring, just because they aren't bound to the implementation.

There is still some mocking or stubbing available, but only for controlling interactions with external systems, systems that are out of our control.

Usage

Please check the documentation site for a detailed usage description. (WIP: page does not exist yet) To start using the project, please add the following to your pom.xml (Maven users)

<dependency>
    <groupId>io.github.wouter-bauweraerts</groupId>
    <artifactId>sociable-testing-junit-mockito</artifactId>
    <version>0.0.3</version>
</dependency>

Check the Maven Central Repository for the most recent version. There you can also find how to include it with different build systems.

Related efforts

Maintainers

Contributing

Feel free to dive in! Missing a feature of encountering a problem? Feel free to open an issue! Want to contribute? Contact us!

Build status

GH Build status

Development

  • Build and debug the site locally:
    • make sure ruby is installed (min 3.3.5)
    • make sure bundle is present
    • make sure jekyll is installed
    • cd into docs
    • run bundle install --path=vendor/bundle to build
    • run bundle exec jekyll s -l -o to serve the site with livereload and open in a browser

Release process

  • Run mvn -Ppublication to stage artifacts
  • Run mvn jreleaser:assemble
  • Run mvn jreleaser:deploy

Sonarcloud status

Quality Gate Status Coverage

License

MIT © Wouter Bauweraerts

About

Library to facilitate the creating of test subjects for sociable unit testing

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages