elementary
mockito-object-injection
elementary | mockito-object-injection | |
---|---|---|
1 | 1 | |
36 | 8 | |
- | - | |
8.6 | 4.5 | |
8 days ago | 6 months ago | |
Java | Java | |
MIT License | Apache License 2.0 |
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.
elementary
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.
What are some alternatives?
TestParameterInjector - A simple yet powerful parameterized test runner for Java.
Mockito - Most popular Mocking framework for unit tests written in Java
selenium-java-test-automation-architecture - Ready-to-use UI Test Automation Architecture using Java and Selenium WebDriver.
mock-box - Mock-Box is a lightweight and powerful mock library that supports testing.
aws-junit5 - JUnit 5 extensions for AWS
unlogged-sdk - Unlogged SDK for recording code execution
janino - Janino is a super-small, super-fast Java™ compiler.
java-testing-toolbox - :wrench: Testing Tools & Libraries Every Java Developer Must Know
yamaledt - JUnit 5 Parameterized Test Yaml Test Data Source
testing-spring-boot-applications-masterclass - 🍃 Build Better Spring Boot Applications: A Comprehensive Testing Course to Boost Your Confidence and Productivity.
1-to-1-Video-Chat-Android-App-Sample-With-Annotation - This sample project uses EnableX's Video APIs and Android Toolkit to help you achieve just that. Designed for developers, it provides a complete workflow for real-time video chat along with annotation functionality.
Java_SpringBoot_Gym_Backend - A backend for a gym website with a number of use case / endpoints created and includes unit/integration tests. Intended to be the backend for a React or Vue capstone site. Utilises controller-service-repository pattern.