Update to latest Mockito and PowerMock and use build numbers

https://github.com/BentoBoxWorld/BSkyBlock/issues/173
This commit is contained in:
tastybento 2019-08-06 17:25:17 -07:00
parent 6c70b9856d
commit aff2320395
4 changed files with 131 additions and 62 deletions

183
pom.xml
View File

@ -6,13 +6,24 @@
<groupId>world.bentobox</groupId> <groupId>world.bentobox</groupId>
<artifactId>bskyblock</artifactId> <artifactId>bskyblock</artifactId>
<version>1.6.0-SNAPSHOT</version> <version>${revision}</version>
<name>BSkyBlock</name> <name>BSkyBlock</name>
<description>BSkyBlock is an add-on for BentoBox, an expandable Minecraft Bukkit plugin for island-type games like SkyBlock or AcidIsland.</description> <description>BSkyBlock is an add-on for BentoBox, an expandable Minecraft Bukkit plugin for island-type games like SkyBlock or AcidIsland.</description>
<url>https://github.com/BentoBoxWorld/BSkyBlock</url> <url>https://github.com/BentoBoxWorld/BSkyBlock</url>
<inceptionYear>2017</inceptionYear> <inceptionYear>2017</inceptionYear>
<developers>
<developer>
<id>tastybento</id>
<email>tastybento@bentobox.world</email>
<timezone>-8</timezone>
<roles>
<role>Lead Developer</role>
</roles>
</developer>
</developers>
<scm> <scm>
<connection>scm:git:https://github.com/BentoBoxWorld/BSkyBlock.git</connection> <connection>scm:git:https://github.com/BentoBoxWorld/BSkyBlock.git</connection>
<developerConnection>scm:git:git@github.com:BentoBoxWorld/BSkyBlock.git</developerConnection> <developerConnection>scm:git:git@github.com:BentoBoxWorld/BSkyBlock.git</developerConnection>
@ -41,12 +52,59 @@
</distributionManagement> </distributionManagement>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<powermock.version>1.7.4</powermock.version> <!-- Non-minecraft related dependencies -->
<powermock.version>2.0.2</powermock.version>
<!-- More visible way how to change dependency versions -->
<spigot.version>1.13.2-R0.1-SNAPSHOT</spigot.version>
<bentobox.version>1.6.0-SNAPSHOT</bentobox.version>
<!-- Revision variable removes warning about dynamic version -->
<revision>${build.version}-SNAPSHOT</revision>
<!-- Do not change unless you want different name for local builds. -->
<build.number>-LOCAL</build.number>
<!-- This allows to change between versions. -->
<build.version>1.6.0</build.version>
</properties> </properties>
<!-- Profiles will allow to automatically change build version. -->
<profiles>
<profile>
<!-- ci profile is activated if exist environment variable BUILD_NUMBER. -->
<!-- It replaces ${build.number} that is currently '-LOCAL' with correct build number from JENKINS machine. -->
<id>ci</id>
<activation>
<property>
<name>env.BUILD_NUMBER</name>
</property>
</activation>
<properties>
<!-- Override only if necessary -->
<build.number>-b${env.BUILD_NUMBER}</build.number>
</properties>
</profile>
<profile>
<!-- Master profile is activated if exist environment variable GIT_BRANCH and its value is origin/master. -->
<!-- It will replace 'revision' with '${build.version}' so it removes '-SNAPSHOT' string at the end. -->
<!-- Also, as this is release build, build number can be set to empty string. -->
<!-- This profile will be used only if exist environment variable GIT_BRANCH with value origin/master. -->
<id>master</id>
<activation>
<property>
<name>env.GIT_BRANCH</name>
<value>origin/master</value>
</property>
</activation>
<properties>
<!-- Override only if necessary -->
<revision>${build.version}</revision>
<!-- Empties build number variable.-->
<build.number></build.number>
</properties>
</profile>
</profiles>
<repositories> <repositories>
<repository> <repository>
<id>spigot-repo</id> <id>spigot-repo</id>
@ -63,45 +121,51 @@
</repositories> </repositories>
<dependencies> <dependencies>
<dependency> <!-- Spigot API -->
<groupId>org.spigotmc</groupId> <dependency>
<artifactId>spigot-api</artifactId> <groupId>org.spigotmc</groupId>
<version>1.14.1-R0.1-SNAPSHOT</version> <artifactId>spigot-api</artifactId>
<scope>provided</scope> <version>${spigot.version}</version>
</dependency> <scope>provided</scope>
<dependency> </dependency>
<groupId>org.mockito</groupId> <!-- Mockito (Unit testing) -->
<artifactId>mockito-all</artifactId> <dependency>
<version>2.0.2-beta</version> <groupId>org.mockito</groupId>
<scope>test</scope> <artifactId>mockito-core</artifactId>
</dependency> <version>3.0.0</version>
<dependency> <scope>test</scope>
<groupId>org.powermock</groupId> </dependency>
<artifactId>powermock-module-junit4</artifactId> <dependency>
<version>${powermock.version}</version> <groupId>org.powermock</groupId>
<scope>test</scope> <artifactId>powermock-module-junit4</artifactId>
</dependency> <version>${powermock.version}</version>
<dependency> <scope>test</scope>
<groupId>org.powermock</groupId> </dependency>
<artifactId>powermock-api-mockito</artifactId> <dependency>
<version>${powermock.version}</version> <groupId>org.powermock</groupId>
<scope>test</scope> <artifactId>powermock-api-mockito2</artifactId>
</dependency> <version>${powermock.version}</version>
<dependency> <scope>test</scope>
<groupId>org.mongodb</groupId> </dependency>
<artifactId>mongodb-driver</artifactId>
<version>3.10.1</version>
</dependency>
<dependency> <dependency>
<groupId>world.bentobox</groupId> <groupId>world.bentobox</groupId>
<artifactId>bentobox</artifactId> <artifactId>bentobox</artifactId>
<version>1.6.0-SNAPSHOT</version> <version>${bentobox.version}</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
</dependencies> </dependencies>
<build> <build>
<!-- By default ${revision} is ${build.version}-SNAPSHOT -->
<!-- If GIT_BRANCH variable is set to origin/master, then it will be only ${build.version}. -->
<!-- By default ${build.number} is -LOCAL. -->
<!-- If the BUILD_NUMBER variable is set, then it will be -b[number]. -->
<!-- If GIT_BRANCH variable is set to origin/master, then it will be the empty string. -->
<finalName>${project.name}-${revision}${build.number}</finalName>
<defaultGoal>clean package</defaultGoal> <defaultGoal>clean package</defaultGoal>
<resources> <resources>
<resource> <resource>
<directory>src/main/resources</directory> <directory>src/main/resources</directory>
@ -201,28 +265,33 @@
<artifactId>maven-deploy-plugin</artifactId> <artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version> <version>2.8.2</version>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.jacoco</groupId> <groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId> <artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.1</version> <version>0.8.3</version>
<configuration> <configuration>
<append>true</append> <append>true</append>
</configuration> <excludes>
<executions> <!-- This is required to prevent Jacoco from adding synthetic fields
<execution> to a JavaBean class (causes errors in testing) -->
<id>pre-unit-test</id> <exclude>**/*Names*</exclude>
<goals> </excludes>
<goal>prepare-agent</goal> </configuration>
</goals> <executions>
</execution> <execution>
<execution> <id>pre-unit-test</id>
<id>post-unit-test</id> <goals>
<goals> <goal>prepare-agent</goal>
<goal>report</goal> </goals>
</goals> </execution>
</execution> <execution>
</executions> <id>post-unit-test</id>
</plugin> <goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins> </plugins>
</build> </build>

View File

@ -98,7 +98,7 @@ public class BSkyBlockTest {
// Locales // Locales
// Return the reference (USE THIS IN THE FUTURE) // Return the reference (USE THIS IN THE FUTURE)
when(user.getTranslation(Mockito.anyString())).thenAnswer((Answer<String>) invocation -> invocation.getArgumentAt(0, String.class)); when(user.getTranslation(Mockito.anyString())).thenAnswer((Answer<String>) invocation -> invocation.getArgument(0, String.class));
// Server // Server
PowerMockito.mockStatic(Bukkit.class); PowerMockito.mockStatic(Bukkit.class);

View File

@ -68,7 +68,7 @@ public class AdminCommandTest {
// Locales // Locales
// Return the reference (USE THIS IN THE FUTURE) // Return the reference (USE THIS IN THE FUTURE)
when(user.getTranslation(Mockito.anyString())).thenAnswer((Answer<String>) invocation -> invocation.getArgumentAt(0, String.class)); when(user.getTranslation(Mockito.anyString())).thenAnswer((Answer<String>) invocation -> invocation.getArgument(0, String.class));
addon = mock(BSkyBlock.class); addon = mock(BSkyBlock.class);
Settings settings = mock(Settings.class); Settings settings = mock(Settings.class);

View File

@ -6,8 +6,8 @@ package world.bentobox.bskyblock.commands;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Matchers.anyString; import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
@ -95,7 +95,7 @@ public class IslandCommandTest {
// Locales // Locales
// Return the reference (USE THIS IN THE FUTURE) // Return the reference (USE THIS IN THE FUTURE)
when(user.getTranslation(Mockito.anyString())).thenAnswer((Answer<String>) invocation -> invocation.getArgumentAt(0, String.class)); when(user.getTranslation(Mockito.anyString())).thenAnswer((Answer<String>) invocation -> invocation.getArgument(0, String.class));
addon = mock(BSkyBlock.class); addon = mock(BSkyBlock.class);
Settings settings = mock(Settings.class); Settings settings = mock(Settings.class);