Add mutation-testing testing module content
This commit is contained in:
parent
04aea5683f
commit
539736e316
|
@ -0,0 +1,36 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="src" output="target/classes" path="src/main/java">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="output" path="target/classes"/>
|
||||||
|
</classpath>
|
|
@ -0,0 +1,23 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>mutation-testing</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
|
@ -0,0 +1,6 @@
|
||||||
|
=========
|
||||||
|
|
||||||
|
## Mutation Testing
|
||||||
|
|
||||||
|
### Relevant Articles:
|
||||||
|
- [Introduction to Mutation Testing Using the PITest Library](http://www.baeldung.com/????????)
|
|
@ -0,0 +1,38 @@
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<groupId>com.baeldung</groupId>
|
||||||
|
<artifactId>mutation-testing</artifactId>
|
||||||
|
<version>0.1-SNAPSHOT</version>
|
||||||
|
<name>mutation-testing</name>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.pitest</groupId>
|
||||||
|
<artifactId>pitest-parent</artifactId>
|
||||||
|
<version>1.1.10</version>
|
||||||
|
<type>pom</type>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>junit</groupId>
|
||||||
|
<artifactId>junit</artifactId>
|
||||||
|
<version>4.9</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.pitest</groupId>
|
||||||
|
<artifactId>pitest-maven</artifactId>
|
||||||
|
<version>1.1.10</version>
|
||||||
|
<configuration>
|
||||||
|
<targetClasses>
|
||||||
|
<param>com.baeldung.testing.mutation.*</param>
|
||||||
|
</targetClasses>
|
||||||
|
<targetTests>
|
||||||
|
<param>com.baeldung.mutation.test.*</param>
|
||||||
|
</targetTests>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</project>
|
|
@ -0,0 +1,15 @@
|
||||||
|
package com.baeldung.testing.mutation;
|
||||||
|
|
||||||
|
public class Palindrome {
|
||||||
|
|
||||||
|
public boolean isPalindrome(String inputString) {
|
||||||
|
if (inputString.length() == 0) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
char firstChar = inputString.charAt(0);
|
||||||
|
char lastChar = inputString.charAt(inputString.length() - 1);
|
||||||
|
String mid = inputString.substring(1, inputString.length() - 1);
|
||||||
|
return (firstChar == lastChar) && isPalindrome(mid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.baeldung.mutation.test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.assertFalse;
|
||||||
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import com.baeldung.testing.mutation.Palindrome;
|
||||||
|
|
||||||
|
public class TestPalindrome {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void acceptsPalindrome() {
|
||||||
|
Palindrome palindromeTester = new Palindrome();
|
||||||
|
assertTrue(palindromeTester.isPalindrome("noon"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void rejectsNonPalindrome(){
|
||||||
|
Palindrome palindromeTester = new Palindrome();
|
||||||
|
assertFalse(palindromeTester.isPalindrome("box"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void rejectsNearPalindrome(){
|
||||||
|
Palindrome palindromeTester = new Palindrome();
|
||||||
|
assertFalse(palindromeTester.isPalindrome("neon"));
|
||||||
|
}
|
||||||
|
}
|
6
pom.xml
6
pom.xml
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
<module>assertj</module>
|
<module>assertj</module>
|
||||||
<module>apache-cxf</module>
|
|
||||||
<module>core-java</module>
|
<module>core-java</module>
|
||||||
<module>core-java-8</module>
|
<module>core-java-8</module>
|
||||||
<module>gson</module>
|
<module>gson</module>
|
||||||
|
@ -36,7 +36,6 @@
|
||||||
<!-- <module>raml</module> -->
|
<!-- <module>raml</module> -->
|
||||||
<module>rest-testing</module>
|
<module>rest-testing</module>
|
||||||
<module>resteasy</module>
|
<module>resteasy</module>
|
||||||
<module>log4j</module>
|
|
||||||
|
|
||||||
<module>spring-all</module>
|
<module>spring-all</module>
|
||||||
<module>spring-apache-camel</module>
|
<module>spring-apache-camel</module>
|
||||||
|
@ -79,7 +78,8 @@
|
||||||
<module>xml</module>
|
<module>xml</module>
|
||||||
|
|
||||||
<module>lombok</module>
|
<module>lombok</module>
|
||||||
<module>redis</module>
|
|
||||||
|
<module>mutation-testing</module>
|
||||||
</modules>
|
</modules>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|
Loading…
Reference in New Issue