mockito-object-injection
wiremock-spring-boot
mockito-object-injection | wiremock-spring-boot | |
---|---|---|
1 | 2 | |
8 | 198 | |
- | - | |
4.5 | 7.0 | |
7 months ago | 15 days ago | |
Java | Java | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mockito-object-injection
-
JEP 457: Class-File API for Parsing, generating, transforming
This is pretty exciting... I've used them all libraries at this point in my career: CGLib, ASM, BCEL, ByteBuddy, Javassist, etc... each has its pluses and minuses. I've designed everything from profiling agents, to systems that pack decimals into EBCDIC and invoke COBOL programs on big IBM iron, to lightweight JIT compilers, all using these libraries.
> In 2002, the visitor approach used by ASM seemed clever
I couldn't agree more. The visitor pattern was very hard to explain/justify back then, and still difficult to explain to newbie programmers just entering the profession.
Looking at the examples, I think this is going to be an official replacement for ASM, meaning it's going to be pretty low level. The use of streams pretty straightforward.
If anyone from the JEP is reading this: I have two pieces of feedback!
First, take some inspiration from the way CDI Portable Extensions work. This is probably the most delightful extension API I've ever used. The @Observe callbacks are super simple to explain to people and it's really easy to write extensions for the framework.
Next, I wouldn't ignore the need for a higher-level API akin to ByteBuddy or Javassist. Sometimes I just want to write an interpreter or intercept a method call and thats it.
For example in my Junit/Mockito extension https://github.com/exabrial/mockito-object-injection I need to intercept a call to the class under test in order to lazily inject dependencies at the last possible moment. While I certainly could do this with ASM, Javassist makes this fairly simple with it's MethodHandler api.
Side note, it's a damn shame we don't have a mobile operating system that is JVM native :/ All this cool APIs simply never reach a huge number of devices.
wiremock-spring-boot
What are some alternatives?
Mockito - Most popular Mocking framework for unit tests written in Java
spring-boot-startup-report - Spring Boot Startup Report library generates an interactive Spring Boot application startup report that lets you understand what contributes to the application startup time and perhaps helps to optimize it.
mock-box - Mock-Box is a lightweight and powerful mock library that supports testing.
Orphic - A natural language shell interface for *nix systems
unlogged-sdk - Unlogged SDK for recording code execution
sql-translator - SQL Translator is a tool for converting natural language queries into SQL code using artificial intelligence. This project is 100% free and open source.
elementary - A suite of libraries that simplify creating and unit testing annotation processors.
fauxpilot - FauxPilot - an open-source alternative to GitHub Copilot server
java-testing-toolbox - :wrench: Testing Tools & Libraries Every Java Developer Must Know
cursor - The AI-powered code editor
testing-spring-boot-applications-masterclass - 🍃 Build Better Spring Boot Applications: A Comprehensive Testing Course to Boost Your Confidence and Productivity.
pytorch-apple-silicon - Setup PyTorch on Mac/Apple Silicon plus a few benchmarks.