A unit testing library for varying test data.

Related tags

Spring Boot burst
Overview

Burst

A unit testing library for varying test data.

DEPRECATED: Burst remains stable and functional, but you should check out TestParameterInjector from Google which is like Burst++. Unless there are major bugs in Burst which necessitate a patch release, no new development will be occurring.

Usage

Burst is a set of test runners which rely on enums for varying both the instantiation of test classes and the methods inside of them.

Define an enum for the property you wish to vary.

public enum Soda {
  PEPSI, COKE
}

The enum can be simple as above, or contain data and methods specific to what you are testing.

public enum Sets {
  HASH_SET() {
    @Override public <T> Set<T> create() {
      return new HashSet<T>();
    }
  },
  LINKED_HASH_SET() {
    @Override public <T> Set<T> create() {
      return new LinkedHashSet<T>();
    }
  },
  TREE_SET() {
    @Override public <T> Set<T> create() {
      return new TreeSet<T>();
    }
  };

  public abstract <T> Set<T> create();
}

Annotate your test class to use the BurstJUnit4 runner.

@RunWith(BurstJUnit4.class)
public class DrinkSodaTest {
  // TODO Tests...
}

An enum that appears on a test constructor will cause all the enclosed test to be run once for each value in the enum.

public DrinkSodaTest(Soda soda) {
  // TODO Do something with 'soda'...
}

Combine multiple enums for the combination of their variations.

public DrinkSodaTest(Soda soda, Sets sets) {
  // TODO Do something with 'soda' and 'sets'...
}

This will be called with the constructor arguments [PEPSI & HASH_SET, PEPSI & LINKED_HASH_SET, PEPSI & TREE_SET, COKE & HASH_SET, ..].

If your constructor is just setting fields, you can just annotate the fields with @Burst.

@RunWith(BurstJUnit4.class)
public class DrinkSodaTest {
  @Burst Soda soda;
  @Burst Sets sets;
  // TODO Tests...
}

This behaves just like the above example.

Note: Classes can either have constructors with arguments or annotated fields. A class with both will cause the test runner to throw an exception.

Methods may also be varied using one or more parameters that are enums.

@Test public void drinkFavoriteSodas(Soda soda) {
  // TODO Test drink method with 'soda'...
}

Having both constructor (or field) variation and method variation is supported.

@RunWith(BurstJUnit4.class)
public class DrinkSodaTest {
  private final Set<Soda> favorites;

  public DrinkSodaTest(Sets sets) {
    favorites = sets.create();
  }

  @Test public void trackFavorites() {
    // TODO ...
  }

  @Test public void drinkFavoriteSodas(Soda soda) {
    // TODO ...
  }
}

The trackFavorites test will be executed 3 times, once for each Sets value. The drinkFavoriteSodas test, however, is executed 6 times, for each of the three Sets values it runs twice for each Soda.

If a particular variation or variation combination does not make sense you can use assumptions to filter either directly in the test or as a custom rule.

Download

  • JUnit 4

    A test runner which can be used for JUnit 4.

    com.squareup.burst:burst-junit4:1.2.0
    
  • Core library

    Contains the core logic which creates the combinations of arguments for both constructors and method. Usually not useful on its own.

    com.squareup.burst:burst:1.2.0
    

Snapshots of the development version are available in Sonatype's snapshots repository.

License

Copyright 2014 Square, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • Burst not working with Espresso

    Burst not working with Espresso

    I setup project using Espresso 2.0 for testing. However, I couldn't get the TestCase's constructor injection to work. I use Gradle wrapper to execute test using ```./gradlew connectedAndroidTest'.

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:21.0.3'
    
        androidTestCompile 'com.squareup.spoon:spoon-client:1.1.2'
        androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0'
        androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
        androidTestCompile 'com.squareup.burst:burst-android:1.0.2'
    }
    
    public class BurstConstructorTest extends TestCase {
        private final EchoCollection echos;
    
        public BurstConstructorTest() {
            this(null);
        }
    
        public BurstConstructorTest(EchoCollection echos) {
            this.echos = echos;
        }
    
        public void testConstructorIsWorking() {
            assertNotNull(echos);
        }
    }
    
    

    I also tried changing to:

    androidTestCompile ('com.squareup.burst:burst-junit4:1.0.2') {
            exclude module : 'hamcrest'
            exclude module : 'hamcrest-core'
            exclude module : 'junit'
    
        }
        androidTestCompile 'com.squareup.burst:burst-android:1.0.2'
        androidTestCompile 'com.squareup.burst:burst:1.0.2'
    
    import com.squareup.burst.BurstJUnit4;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    
    import static junit.framework.Assert.assertNotNull;
    
    @RunWith(BurstJUnit4.class)
    public class BurstConstructorTest {
        private final EchoCollection echos;
    
        public BurstConstructorTest(EchoCollection echos) {
            this.echos = echos;
        }
    
        @Test
        public void testConstructorIsWorking() {
            assertNotNull(echos);
        }
    }
    

    This would results in "No Test found."

    I modified test case to inject field but the test still fail.

    public class BurstConstructorTest {
        @Burst EchoCollection echos;
    
        public BurstConstructorTest() {
    
        }
    
        @Test
        public void testConstructorIsWorking() {
            assertNotNull(echos);
        }
    }
    

    Did I miss something important to make it work?

    opened by RobGThai 14
  • Robolectric 2.3 support without any Robolectric modifications

    Robolectric 2.3 support without any Robolectric modifications

    This branch pulls up all the private logic from RobolectricTestRunner into BurstRobolectricRunner. Unfortunately, it's only compatible with Robolectric 2.3 right now, but with some minor changes to Robolectric (next major version) we could easily remove most of the logic from BurstRobolectricRunner.

    opened by jacobtabak 12
  • [RFC] Robolectric module

    [RFC] Robolectric module

    This provides support for Robolectric tests.

    For now, I've added the Robolectric sources to the project because I had to change the visibility of a few things in RobolectricTestRunner to get this to work.

    RobolectricTestRunner was clearly not designed for extensibility, but with a few small changes we could make some things much more manageable (like MethodBlock which is mostly copied line-for-line from RobolectricTestRunner).

    So please, share your comments!This provides support for Robolectric tests.

    For now, I've added the Robolectric sources to the project because I had to change the visibility of a few things in RobolectricTestRunner to get this to work.

    RobolectricTestRunner was clearly not designed for extensibility, but with a few small changes we could make some things much more manageable (like MethodBlock which is mostly copied line-for-line from RobolectricTestRunner).

    opened by jacobtabak 7
  • Cleaned up constructor reflection code.

    Cleaned up constructor reflection code.

    There was a lot of duplicate code and tests between BurstAndroid and BurstJUnit4 for reflecting on constructors, refactored all that into BurstableConstructor and BurstableConstructorTest.

    opened by zach-klippenstein 5
  • Burst + AndroidTestCase support

    Burst + AndroidTestCase support

    Can't seem to run Burst with AndroidTestCase using a basic custom instrumentation runner (class with getAndroidTestRunner() which returns BurstAndroid).

    Using burst-android 1.0.2

    01-08 07:37:52.376 2546-2546/? E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: uk.co.imagitech.citb.operatives.plus, PID: 2546 java.lang.RuntimeException: Exception thrown in onCreate() of ComponentInfo{uk.co.imagitech.citb.operatives.plus.test/uk.co.imagitech.citb.operatives.plus.test.BurstTestRunner}: java.lang.RuntimeException: java.lang.IllegalStateException: junit.framework.TestSuite$1 requires at least 1 public constructor at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4338) at android.app.ActivityThread.access$1500(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.RuntimeException: java.lang.IllegalStateException: junit.framework.TestSuite$1 requires at least 1 public constructor at com.squareup.burst.BurstAndroid.setTest(BurstAndroid.java:38) at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:379) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4335)             at android.app.ActivityThread.access$1500(ActivityThread.java:135)             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)             at android.os.Handler.dispatchMessage(Handler.java:102)             at android.os.Looper.loop(Looper.java:136)             at android.app.ActivityThread.main(ActivityThread.java:5017)             at java.lang.reflect.Method.invokeNative(Native Method)             at java.lang.reflect.Method.invoke(Method.java:515)             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)             at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.IllegalStateException: junit.framework.TestSuite$1 requires at least 1 public constructor at com.squareup.burst.BurstableConstructor.findSingle(BurstableConstructor.java:24) at com.squareup.burst.BurstAndroid.explodeSuite(BurstAndroid.java:97) at com.squareup.burst.BurstAndroid.explodeSuite(BurstAndroid.java:121) at com.squareup.burst.BurstAndroid.setTest(BurstAndroid.java:36)             at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:379)             at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4335)             at android.app.ActivityThread.access$1500(ActivityThread.java:135)             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)             at android.os.Handler.dispatchMessage(Handler.java:102)             at android.os.Looper.loop(Looper.java:136)             at android.app.ActivityThread.main(ActivityThread.java:5017)             at java.lang.reflect.Method.invokeNative(Native Method)             at java.lang.reflect.Method.invoke(Method.java:515)             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)             at dalvik.system.NativeStart.main(Native Method)

    opened by Kisty 4
  • Burst annotation doesn't work

    Burst annotation doesn't work

    I implemented libraries in Gradle file: testImplementation('com.squareup.burst:burst-junit4:1.2.0') testImplementation('com.squareup.burst:burst:1.2.0') And receive next error when I run tests:

    Task :app:kaptDebugAndroidTestKotlin FAILED e: C:\Work\LT_projects\Sephora_android\app\src\androidTest\java\com\ltst\app\ui\screen\start\DeeplinkTest.java:16: error: cannot find symbol @RunWith(BurstJUnit4.class) ^

    opened by KurganovID 3
  • API to limit set of values

    API to limit set of values

    Imagine you have

    enum LocationSource {
      GPS,
      GLONASS,
      NETWORK,
      OTHER
    }
    

    And a test that should verify that behavior for GPS and GLONASS is the same:

    @Test
    @Only({GPS, GLONASS})
    public void processHighAccuracyLocationSource(LocationSource locationSource) {
      // assert/verify something.
    }
    

    Same can be applied to constructor/field injection.

    Needed this several times this week. Do you think such thing fits into the library?

    opened by artem-zinnatullin 3
  • BeforeClass being called for each Parameter

    BeforeClass being called for each Parameter

    Currently, @BeforeClass methods get invoked once for the test class and then again every time a new Class Parameter combination gets tested the first time. The code below will result in a sequence of messages like:

    test: beforeClass
    test: beforeClass
    test: (param1 SMALL, param2 ENABLED) -> SquareBurst constructor
    test: (size: SMALL, param2 ENABLED) -> before
    test: (param1 SMALL, param2 ENABLED) -> test1
    test: (param1 SMALL, param2 ENABLED) -> SquareBurst constructor
    test: (size: SMALL, param2 ENABLED) -> before
    test: (param1 SMALL, param2 ENABLED) -> test2
    test: (param1 SMALL, param2 ENABLED) -> SquareBurst constructor
    test: (size: SMALL, param2 ENABLED) -> before
    test: (param1 SMALL, param2 ENABLED, methodParameter: SMALL) -> someShortTest
    test: (param1 SMALL, param2 ENABLED) -> SquareBurst constructor
    test: (size: SMALL, param2 ENABLED) -> before
    test: (param1 SMALL, param2 ENABLED, methodParameter: MEDIUM) -> someShortTest
    test: beforeClass
    test: (param1 MEDIUM, param2 ENABLED) -> SquareBurst constructor
    test: (size: MEDIUM, param2 ENABLED) -> before
    test: (param1 MEDIUM, param2 ENABLED) -> test1
    test: (param1 MEDIUM, param2 ENABLED) -> SquareBurst constructor
    test: (size: MEDIUM, param2 ENABLED) -> before
    test: (param1 MEDIUM, param2 ENABLED) -> test2
    test: (param1 MEDIUM, param2 ENABLED) -> SquareBurst constructor
    test: (size: MEDIUM, param2 ENABLED) -> before
    test: (param1 MEDIUM, param2 ENABLED, methodParameter: SMALL) -> someShortTest
    test: (param1 MEDIUM, param2 ENABLED) -> SquareBurst constructor
    test: (size: MEDIUM, param2 ENABLED) -> before
    test: (param1 MEDIUM, param2 ENABLED, methodParameter: MEDIUM) -> someShortTest
    test: beforeClass
    test: (param1 LARGE, param2 ENABLED) -> SquareBurst constructor
    test: (size: LARGE, param2 ENABLED) -> before
    test: (param1 LARGE, param2 ENABLED) -> test1
    test: (param1 LARGE, param2 ENABLED) -> SquareBurst constructor
    test: (size: LARGE, param2 ENABLED) -> before
    test: (param1 LARGE, param2 ENABLED) -> test2
    test: (param1 LARGE, param2 ENABLED) -> SquareBurst constructor
    test: (size: LARGE, param2 ENABLED) -> before
    test: (param1 LARGE, param2 ENABLED, methodParameter: SMALL) -> someShortTest
    test: (param1 LARGE, param2 ENABLED) -> SquareBurst constructor
    test: (size: LARGE, param2 ENABLED) -> before
    test: (param1 LARGE, param2 ENABLED, methodParameter: MEDIUM) -> someShortTest
    test: beforeClass
    test: (param1 SMALL, param2 DISABLED) -> SquareBurst constructor
    test: (size: SMALL, param2 DISABLED) -> before
    test: (param1 SMALL, param2 DISABLED) -> test1
    test: (param1 SMALL, param2 DISABLED) -> SquareBurst constructor
    test: (size: SMALL, param2 DISABLED) -> before
    test: (param1 SMALL, param2 DISABLED) -> test2
    test: (param1 SMALL, param2 DISABLED) -> SquareBurst constructor
    test: (size: SMALL, param2 DISABLED) -> before
    test: (param1 SMALL, param2 DISABLED, methodParameter: SMALL) -> someShortTest
    test: (param1 SMALL, param2 DISABLED) -> SquareBurst constructor
    test: (size: SMALL, param2 DISABLED) -> before
    test: (param1 SMALL, param2 DISABLED, methodParameter: MEDIUM) -> someShortTest
    test: beforeClass
    test: (param1 MEDIUM, param2 DISABLED) -> SquareBurst constructor
    test: (size: MEDIUM, param2 DISABLED) -> before
    test: (param1 MEDIUM, param2 DISABLED) -> test1
    test: (param1 MEDIUM, param2 DISABLED) -> SquareBurst constructor
    test: (size: MEDIUM, param2 DISABLED) -> before
    test: (param1 MEDIUM, param2 DISABLED) -> test2
    test: (param1 MEDIUM, param2 DISABLED) -> SquareBurst constructor
    test: (size: MEDIUM, param2 DISABLED) -> before
    test: (param1 MEDIUM, param2 DISABLED, methodParameter: SMALL) -> someShortTest
    test: (param1 MEDIUM, param2 DISABLED) -> SquareBurst constructor
    test: (size: MEDIUM, param2 DISABLED) -> before
    test: (param1 MEDIUM, param2 DISABLED, methodParameter: MEDIUM) -> someShortTest
    test: beforeClass
    test: (param1 LARGE, param2 DISABLED) -> SquareBurst constructor
    test: (size: LARGE, param2 DISABLED) -> before
    test: (param1 LARGE, param2 DISABLED) -> test1
    test: (param1 LARGE, param2 DISABLED) -> SquareBurst constructor
    test: (size: LARGE, param2 DISABLED) -> before
    test: (param1 LARGE, param2 DISABLED) -> test2
    test: (param1 LARGE, param2 DISABLED) -> SquareBurst constructor
    test: (size: LARGE, param2 DISABLED) -> before
    test: (param1 LARGE, param2 DISABLED, methodParameter: SMALL) -> someShortTest
    test: (param1 LARGE, param2 DISABLED) -> SquareBurst constructor
    test: (size: LARGE, param2 DISABLED) -> before
    test: (param1 LARGE, param2 DISABLED, methodParameter: MEDIUM) -> someShortTest
    

    As can be seen, the @BeforeClass annotated method gets invoked multiple times. My test methods need some resources that are read only and thus can be shared. However, it takes multiple seconds to create these, so I'd like to initialize them once for the entire test class.

    I propose, BeforeClass should be called once for every test class, not for every new combination of Class Parameters. This is how JUnit's Parameterized Class does it as well.

    Also, it would be great to have a new annotation that can be used to invoke a method every time a new Class Parameter combination is created, just like @BeforeClass does now, but give it access to the newly created Class Parameter combination, so that it can be used to do a one time setup and teardown for each Class Parameter combination.

    Example Code:

    @RunWith(BurstJUnit4.class)
    public class SquareBurst {
    
        public enum Parameter1 { SMALL, MEDIUM, LARGE }
        public enum Parameter2 { ENABLED, DISABLED }
        public enum MethodParameter { SMALL, MEDIUM }
    
        @Before
        public void before() {
            System.out.println(String.format("test: (size: %s, param2 %s) -> before", size, parameter2));
        }
    
        @BeforeClass
        public static void beforeClass() {
            System.out.println("test: beforeClass");
        }
    
        private Parameter1 size;
        private Parameter2 parameter2;
    
        public SquareBurst(Parameter2 parameter2, Parameter1 size) {
            System.out.println(String.format("test: (param1 %s, param2 %s) -> SquareBurst constructor", size, parameter2));
            this.size = size;
            this.parameter2 = parameter2;
        }
    
        @Test
        public void someShortTest(MethodParameter methodParameter) {
            System.out.println(String.format("test: (param1 %s, param2 %s, methodParameter: %s) -> someShortTest",
                                             size, parameter2, methodParameter));
        }
    
        @Test
        public void test1() {
            System.out.println(String.format("test: (param1 %s, param2 %s) -> test1", size, parameter2));
        }
    
        @Test
        public void test2() {
            System.out.println(String.format("test: (param1 %s, param2 %s) -> test2", size, parameter2));
        }
    
    }
    
    opened by nioncode 3
  • Can't run individual test methods from IntelliJ

    Can't run individual test methods from IntelliJ

    For tests with method variations it seems like you can't run an individual test from IntelliJ, only all the tests in a class.

    java.lang.Exception: No tests found matching Method multiple(com.squareup.burst.MethodTest) from org.junit.internal.requests.ClassRequest@2e26c3a1 at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:35) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:41) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

    Haven't really thought about if there's a fix or if it even matters.

    opened by jacobtabak 3
  • Burst with Robolectric?

    Burst with Robolectric?

    Is it possible to get burst working with Robolectric? I realise that adding two test runners would fail but have seen here that if one can be a rule, then both should be OK to run together.

    I've looked for a TestRule for Robolectric but can't find one and looked for one in this project but same problem. Any idea how to get them both working or how to write a rule for one or the other?

    Cheers!

    opened by Kisty 2
  • Broken links in README

    Broken links in README

    "If a particular variation or variation combination does not make sense you can use assumptions to filter either directly in the test or as a custom rule."

    "assumptions" and "rule" links are broken in the README

    opened by yogurtearl 2
  • Include the test class in the Description

    Include the test class in the Description

    I'm trying to design a JUnit4 Rule and have run into an issue with tests using Burst, because the Description passed to my rule returns null from getTestClass().

    It looks like this line is the source of the Description in question, as it passes a custom string instead of a className.

    Would Burst be open to fixing this? Something like:

    return Description.createTestDescription(
        getTestClass().getJavaClass(),
        getName() + ":" + method.getName(),
        method.getAnnotations());
    

    Is sufficient for my use case, though it does change the result of Description.getDisplayName(). If that works I'm happy to send a PR, otherwise are there other approaches you might be open to?

    opened by dimo414 3
Owner
Square
Square
🎯 ConsoleCaptor captures console output for unit testing purposes

ConsoleCaptor Install library with: Install with maven <dependency> <groupId>io.github.hakky54</groupId> <artifactId>consolecaptor</artifactId

Hakan Altındağ 15 Dec 9, 2022
How to configure Replica Set with Embedded Mongo using Spring Boot and Flapdoodle for unit testing code that uses mongodb transactions

Spring Boot Embedded Mongo with Replica Set This project defines a basic rest service that allows users to update records of a Person (name and email)

Divyansh Shekhar Gaur 4 Nov 1, 2022
Spring REST API for financial management, developed with Java 11, JWT for authentication, JUnit for unit testing and Oracle Database

control_financial Spring REST API for financial management, developed with Java 11, JWT for authentication, JUnit for unit testing and Oracle Database

Vinicius Cassaro 1 May 27, 2022
Spring Boot Rest API unit test with Junit 5, Mockito, Maven

Spring Boot Rest API unit testing with Junit 5, Mockito, Maven Apply Spring Boot @WebMvcTest for Rest Controller Unit Test with JUnit 5 and Mockito. F

null 19 Dec 22, 2022
GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes.

GreenMail GreenMail is an open source, intuitive and easy-to-use test suite of email servers for testing purposes. Supports SMTP, POP3, IMAP with SSL

null 529 Dec 28, 2022
Unit 1 for WASP composable software tools project

one This unit uses Spoon to find program constructs from a Java source file, based on their visibility. It currently supports public and private class

Deepika Tiwari 2 Oct 13, 2021
QuickPerf is a testing library for Java to quickly evaluate and improve some performance-related properties

QuickPerf is a testing library for Java to quickly evaluate and improve some performance-related properties quickperf.io ?? Documentation Annotations

null 365 Dec 15, 2022
An examples of creating test records in the database with Spring Boot + Spring Data + JPA usage.

Spring Boot + JPA — Clear Tests An examples of creating test records in the database with Spring Boot + Spring Data + JPA usage. Check out the article

Semyon Kirekov 8 Nov 24, 2022
Tzatziki - Decathlon library to ease and promote Test Driven Development of Java microservices!

Tzatziki Steps Library This project is a collection of ready-to-use Cucumber steps making it easy to TDD Java microservices by focusing on an outside-

Decathlon 32 Dec 15, 2022
Trust-java - Test Results Verification library for Java

TRUST - Test Results Verification library for Java The TRUST's primary goal is to provide the simple way of different test results verification. Gener

Serhii Shymkiv 2 Nov 19, 2017
Don't use this maliciously, this is for testing

log4j-exploit-example Don't use this maliciously, this is for testing Specifically for testing within Minecraft, but this will probably work on other

fizzdev 7 Dec 25, 2021
Sniffy - interactive profiler, testing and chaos engineering tool for Java

Sniffy Sniffy is a Java profiler which shows the results directly in your browser. It also brings profiling to your unit (or rather component) tests a

Sniffy 139 Dec 23, 2022
A collection of JUnit rules for testing code which uses java.lang.System.

System Rules System Rules is a collection of JUnit rules for testing code which uses java.lang.System. System Lambda is an alternative to System Rules

Stefan Birkner 536 Dec 22, 2022
Practice and testing with Java 11, Prometheus, and Spring-boot with MicroService Architecture. Designed to run on Kubernetes in minikube.

This application was written by Andrew Aslakson Built to run on minikube using kubernetes General race tracking system? Secure with Firebase Authentic

null 1 Feb 5, 2022
🏫 Testing Workshop for Factoria F5 Bootcamp

ms-test--factoriaf5-testing ?? Testing Workshop for Factoria F5 Sample used in Adevinta Spain's Factoria F5 masterclasses Develop Clone/fork this repo

Adevinta Spain 4 Mar 2, 2022
F5 BIG-IP iControl REST vulnerability RCE exploit with Java including a testing LAB

CVE-2022-1388 F5 BIG-IP iControl REST vulnerability RCE exploit with Java and ELF. Included Scan a single target Scan many targets Exploit with a shel

Zer0verflow 10 Sep 24, 2022
The code examples of the "Effective Software Testing: A Developer's Guide" book

Effective software testing This repository contains the code examples of the Software Testing: A Developer's Guide book, by Maurício Aniche. Each fold

null 44 Dec 29, 2022
Repositório referente ao código de uma classe data, com testes JUNIT, classe de exceção própria e classe aplicação para demonstrar as diversas funcionalidades da classe data

Exercicio-Data Repositório referente ao código de uma classe data, com testes JUNIT, classe de exceção própria e classe aplicação para demonstrar as d

Bruno Silveira Cequeira Lima 3 May 4, 2021
Let Litematica be able to paste tile entity data of block / entity data in a server

Litematica Server Paster Let Litematica be able to paste tile entity data of block / entity data in a server By using a custom chat packet to bypass t

Fallen_Breath 23 Dec 24, 2022