Integration Test Framework for Paper!

Overview

MiniTestFramework

Integration Test Framework for Paper!

Usage

  • Install plugin
  • Create Test Structure
    • /test create <filename.testname> [width]
    • Build contraption
    • Save schematic
  • Create Test Script
    • create .js in plugin folder
    • register a new test case into the registry
      registry.register("test", (helper) => {
        helper.pressButton(3, 3, 3);
        helper.succeedWhenEntityPresent(EntityType.MINECART, 1, 2, 3);
      });
    • use helper to do actions and assertions
    • use /test pos ingame to find relation locations
  • Reload script changes with /mtest reload
  • Run test via command block ingame or /test run* commands

Example: https://streamable.com/e/k6kngh

Running in CI

When the plugin detects that the CI env var is set to true, it will automatically run all tests, write a test-results.xml (in junit format) and stop the server.
If exit code > 0, then X number of required tests failed. If exit code < 0, then X number of optional test failed. Exit code = 0 means happy day :)

Contribution

Best to hit me up on the paper discord: https://discord.gg/papermc
gradlew runServer to test locally.

Licence

MIT

You might also like...

Kafka integration with Java Spring-boot: producer-consumer model

Kafka integration with Java Spring-boot with one application serving as a producer and the other consuming the messages

Apr 26, 2022

A demo of Rongcloud uniapp sdk integration for compiling debug-apk in Android Studio

Rongcloud-uniapp-sdk-demo A demo of Rongcloud uniapp sdk integration for compiling debug-apk in Android Studio 这是一个为了给uniapp在Android平台打出debug-apk的demo

Oct 13, 2021

An OpenHIM mediator for handling system integration between HRHIS and NHIF

Tanzania HRHIS - NHIF Mediator An OpenHIM mediator for handling system integration from HRHIS to NHIF. Getting Started Clone the repository and run np

Oct 19, 2021

This module explains about the example of Spring MVC + Database Integration with MySQL using Hibernate ORM with practical coding example and required JAR dependencies

SpringMVC-Database-Integration This module explains about the example of Spring MVC + Database Integration with MySQL using Hibernate ORM with practic

Nov 2, 2021

Supports the development of Spryker applications with Intellij Integration.

SprykerKit - intellij plugin for spryker file generation integrated into your ide Supports the development of Spryker applications with Intellij IDEA.

Oct 13, 2022

DataCap is integrated software for data transformation, integration and visualization.

DataCap is integrated software for data transformation, integration and visualization.

DataCap (incubator) DataCap is integrated software for data transformation, integration and visualization. Require Must-read for users: Be sure to exe

Dec 28, 2022

Lattice is a powerful, lightweight business extension invoke framework. By using the Lattice framework, complex business customization can be efficiently organized and managed.

Lattice Framework Introduction Lattice is a powerful, lightweight business extension invoke framework. By using the Lattice framework, complex busines

Dec 30, 2022

Test-Driven Security

Test-Driven Security Run tests ./gradlew test References Spring Security test support https://docs.spring.io/spring-security/site/docs/current/referen

Oct 11, 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

Nov 24, 2022
Comments
  • Configure Renovate

    Configure Renovate

    Mend Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • gradle.properties (gradle)
    • settings.gradle (gradle)
    • build.gradle.kts (gradle)
    • gradle/wrapper/gradle-wrapper.properties (gradle-wrapper)

    Configuration

    🔡 Renovate has detected a custom config for this PR. Feel free to ask for help if you have any doubts and would like it reviewed.

    Important: Now that this branch is edited, Renovate can't rebase it from the base branch any more. If you make changes to the base branch that could impact this onboarding PR, please merge them manually.

    What to Expect

    With your current configuration, Renovate will create 10 Pull Requests:

    Update plugin net.minecrell.plugin-yml.bukkit to v0.5.2
    • Schedule: ["at any time"]
    • Branch name: renovate/net.minecrell.plugin-yml.bukkit-0.x
    • Merge into: master
    • Upgrade net.minecrell.plugin-yml.bukkit to 0.5.2
    Update dependency gradle to v7.5.1
    • Schedule: ["at any time"]
    • Branch name: renovate/gradle-7.x
    • Merge into: master
    • Upgrade gradle to 7.5.1
    Update dependency org.assertj:assertj-core to v3.23.1
    • Schedule: ["at any time"]
    • Branch name: renovate/org.assertj-assertj-core-3.x
    • Merge into: master
    • Upgrade org.assertj:assertj-core to 3.23.1
    Update graalVersion to v21.3.4
    Update junit5 monorepo to v5.9.1
    Update plugin com.github.johnrengelman.shadow to v7.1.2
    • Schedule: ["at any time"]
    • Branch name: renovate/com.github.johnrengelman.shadow-7.x
    • Merge into: master
    • Upgrade com.github.johnrengelman.shadow to 7.1.2
    Update plugin io.papermc.paperweight.userdev to v1.3.11
    • Schedule: ["at any time"]
    • Branch name: renovate/io.papermc.paperweight.userdev-1.x
    • Merge into: master
    • Upgrade io.papermc.paperweight.userdev to 1.3.11
    Update plugin xyz.jpenilla.run-paper to v1.1.0
    • Schedule: ["at any time"]
    • Branch name: renovate/xyz.jpenilla.run-paper-1.x
    • Merge into: master
    • Upgrade xyz.jpenilla.run-paper to 1.1.0
    Update graalVersion to v22 (major)
    Update plugin xyz.jpenilla.run-paper to v2
    • Schedule: ["at any time"]
    • Branch name: renovate/xyz.jpenilla.run-paper-2.x
    • Merge into: master
    • Upgrade xyz.jpenilla.run-paper to 2.0.0

    🚸 Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or spam the project. See docs for prhourlylimit for details.


    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
Owner
MiniDigger | Martin
Random guy doing java and stuff, mostly minecraft related.
MiniDigger | Martin
Docker-compose-integration-tstst - An exploration of how to run integration tests against an application that has inconvenient external dependencies (e.g. a SQL database).

Tstst? it was supposed to be docker-compose-integration-tests but i was too lazy to fix it at the outset, and now im trying to convince myself its fun

null 1 Jan 4, 2022
A simple paper plugin which allows deepslate to be instamined

InstantDeepslate An extremely simple plugin that allows you to instantly mine deepslate. I used the paperweight test plugin as the base for this plugi

null 2 Jan 31, 2022
Rock, paper, scissors- shoot!, in 10 programming languages

Rock Paper Scissors In 10 Programming Languages The classic "rock, paper, scissors- shoot!" game, implemented in 10 programming languages Language Lin

Dheirya Tyagi 3 Oct 8, 2022
Auto-Unit-Test-Case-Generator automatically generates high-level code-coverage JUnit test suites for Java, widely used within the ANT Group.

中文README传送门 What is Auto-Unit-Test-Case-Generator Auto-Unit-Test-Case-Generator generates JUnit test suites for Java class just as its name. During te

TRaaS 108 Dec 22, 2022
💡极致性能的企业级Java服务器框架,RPC,游戏服务器框架,web应用服务器框架。(Extreme fast enterprise Java server framework, can be RPC, game server framework, web server framework.)

?? 为性能而生的万能服务器框架 ?? Ⅰ. zfoo简介 ?? 性能炸裂,天生异步,Actor设计思想,无锁化设计,基于Spring的MVC式用法的万能RPC框架 极致序列化,原生集成的目前二进制序列化和反序列化速度最快的 zfoo protocol 作为网络通讯协议 高可拓展性,单台服务器部署,

null 1k Jan 1, 2023
An integration solution for Spring Cloud and Tencent middleware - Spring Cloud和腾讯中间件的集成方案

Spring Cloud Tencent English | 简体中文 Introduction Spring Cloud Tencent contains components distributed micro-service applications need during developin

Tencent 2.6k Dec 29, 2022
Project developed for MB Talk - App Center integration on React Native

App Center Setup Download APK Click here Requirements React Native CLI Yarn Sign Up on App Center and create a new App. How to use this repo Clone thi

André Angeloni 2 Oct 31, 2022
Movecraft & CoreProtect Integration

Movecraft CoreProtect Addon Home of the code for the following features: CoreProtect logging support Version support The main branch is coded for 1.14

TylerS1066 2 Jul 24, 2022
Spring Boot OAuth 2.0 Client Implementation + MySQL Integration

Spring Boot OAuth 2.0 Client + MySQL 1. What is OAuth 2.0 ? The OAuth 2.0 authorization framework enables a third-party application to obtain limited

Salah Eddine Zemmouri 8 May 12, 2022
Hi, Spring fans! In this installment we look Spring Integration's support for MQTT and the HiveMQ broker

Spring Integration MQTT & HiveMQ Hi, Spring fans! In this installment we look Spring Integration's support for MQTT and the HiveMQ broker. I'm joined

Spring Tips 5 Nov 21, 2022