Skip to content

Latest commit

 

History

History
72 lines (57 loc) · 2.04 KB

README.md

File metadata and controls

72 lines (57 loc) · 2.04 KB

POJO testing library

Stand With Ukraine GitHub release unit-tests security linting Known Vulnerabilities

Import

  1. Add GitHub Packages maven server to pom.xml
  2. Import pojo dependency.

Maven

<dependency>
  <groupId>io.fabasoad</groupId>
  <artifactId>pojo</artifactId>
  <version>0.2.1</version>
</dependency>

Examples

Java

public class PojoTest {
  // The package to test
  private static final String PACKAGE_NAME = "io.fabasoad.pojo";

  @Test
  public void testPojoStructureAndBehavior() {
    final PojoValidator validator = PojoValidatorBuilder.create(PACKAGE_NAME)
        .with(new GettersTester(new GettersMustExistRule()))
        .with(new FieldsTester(
            new FieldsMustBeFinalRule(),
            new FieldsMustBePrivateRule()))
        .build();

    validator.validate();
  }
}

Groovy

class PojoSpec extends Specification {
  // The package to test
  def PACKAGE_NAME = "io.fabasoad.pojo";

  def "Getters and fields must follow the rules"() {
    given:
    def builder = PojoValidatorBuilder.create(PACKAGE_NAME)

    when:
    def validator = builder
        .with(new GettersTester(new GettersMustExistRule()))
        .with(new FieldsTester(
            new FieldsMustBeFinalRule(),
            new FieldsMustBePrivateRule()))
        .build()

    then:
    validator.validate()
  }
}