https://github.com/unloggedio/unlogged-sdk
Unlogged SDK for recording JAVA code execution
https://github.com/unloggedio/unlogged-sdk
assertions automated-testing debugging-tool java junit junit5 mocking mockito regression-testing test-automation
Last synced: about 2 months ago
JSON representation
Unlogged SDK for recording JAVA code execution
- Host: GitHub
- URL: https://github.com/unloggedio/unlogged-sdk
- Owner: unloggedio
- License: apache-2.0
- Created: 2023-05-28T07:54:37.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-27T07:04:55.000Z (8 months ago)
- Last Synced: 2024-08-27T14:20:39.918Z (8 months ago)
- Topics: assertions, automated-testing, debugging-tool, java, junit, junit5, mocking, mockito, regression-testing, test-automation
- Language: Java
- Homepage: https://unlogged.io
- Size: 6.05 MB
- Stars: 163
- Watchers: 2
- Forks: 16
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-java - Unlogged Java SDK
README
Record. Replay. Test.
Documentation ·
Bug Bounty ·
Maven ·
IntelliJ Plugin
# Unlogged Java SDK
Unlogged Java SDK enabled recording of code execution in a binary format.
Replay these records using the [Unlogged IntelliJ Plugin](https://plugins.jetbrains.com/plugin/18529-unlogged) and generate junit test cases.
The recording is highly detailed and can be used to reconstruct the code execution from scratch.
The [binary format descriptions](https://github.com/unloggedio/common/tree/master/src/main/kaitai) are available in Kaitai format here- 🎬 Execute Java methods in your process right from your IDE
- 🖥️ Replay one or all recorded executions and see the differences in response in real time
- 🎯 Setup assertions on individual keys in response objects
- 🎭 Mock downstream calls as easily as setting up a breakpoint
- 🩺 Identify bottlenecks in your code with perf numbers right above the method declaration
- 🦠 Create JUnit test cases from recorded executions### Additional Screenshots
🎬 Direct Invoke
🖥️ Replay
🎭 Mocking
🎯 Assertions
🦠 JUnit Test case
## Usage
1. Include dependency
### Maven
```xml
video.bug
unlogged-java-sdk
0.2.16
```
### Gradle
```groovy
dependencies
{
implementation 'video.bug:unlogged-sdk:0.2.16'
annotationProcessor 'video.bug:unlogged-sdk:0.2.16'
}
```2. Add `@Unlogged` annotation to your application entry point
```java
public class Main {
@Unlogged
public static void main(String[] args) {
//
}
}
```## Disabling unlogged-sdk
It is highly recommended that you disable the unlogged-sdk when deploying for usage. unlogged-sdk is only targetted
for local usage only.Adding the unlogged-sdk adds probes to your code which emits events in a binary format. Adding the `@Unlogged`
enabled to actual execution of those probes.### To disable at compile time
```bash
mvn package -Dunlogged.disable
```or
```bash
./gradlew build -Dunlogged.disable
```### To disable at runtime (if not disabled at compile time)
```java
@Unlogged(enable = false)
```You can find the latest release version here: https://mvnrepository.com/artifact/video.bug/unlogged-sdk
## Contributing
We welcome all contributions! There's many ways to contribute to the project,
including but not limited to:- Opening a PR
- [Submitting feature requests or bugs](https://github.com/unloggedio/unlogged-sdk/issues/new)
- Improving our product or contribution documentation
- Voting on [open issues](https://github.com/unloggedio/unlogged-sdk/issues) or
contributing use cases to a feature request