Giter VIP home page Giter VIP logo

factoryjill's Introduction

FactoryJill

Usage

sourceCompatibility = 1.8
dependencies {
    testCompile('com.github.markymarkmcdonald:FactoryJill:2.0.0')
}

Features

Supported:

  • Defining reusable factories
  • Overriding fields
  • Associations: Defining fields as instances of other factories
  • Building a list of factories

Not Supported:

  • Aliases
  • Sequences

Not Planned to be supported:

  • Factory Inheritance
  • Lazily setting fields (based off of other properties)
  • Callbacks (pre-build, post-build)

Requirements

  • Java 8
  • A public getter and setter for each field defined or overridden.

Examples

Defining a factory:

factory("truck", Car.class, ImmutableMap.of(
                "make", "ford",
                "convertible", false,
                "yearsOwned", 5,
                "releaseDate", new Date()
        ));

Building an instance from a factory:

Car pickupTruck = build("truck");

Sometimes you need to override specific properties:

Car convertible = build("truck", ImmutableMap.of("convertible", true));

Building multiple instances from a factoy:

List<Car> pickupTrucks = buildMultiple("truck", 5);

Full API

For now FactoryJill provides a public interface with three methods, FactoryJill.factory, FactoryJill.build, and FactoryJill.buildMultiple. Check out the test directory for a complete set of usage examples.

factoryjill's People

Contributors

markymarkmcdonald avatar

Stargazers

 avatar

Watchers

 avatar

factoryjill's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.