Skip to content

palatable/traitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

traitor Build Status

Trait testing with JUnit.

installation

Add the following dependency to your pom.xml file:

<dependency>
    <groupId>com.jnape.palatable</groupId>
    <artifactId>traitor</artifactId>
    <version>1.0</version>
</dependency>

usage

An example test suite that tests traits alongside unit tests might look like:

@RunWith(Traits.class)
public class FunctionalIterableTest {

    @Test
    public void mapsFunctionOverValues() {
        //...
    }

    @TestTraits({Laziness.class, StandardIteration.class})
    public FunctionalIterable createTestSubject() {
        return FunctionalIterable.iterable(1, 2, 3, 4, 5);
    }
}
public class Laziness implements Trait<FunctionalIterable> {

    @Override
    public void test(FunctionalIterable testSubject) {
        //use normal JUnit asserts here
    }

    //same goes for StandardIteration
}

Note that the Traits runner simply requires the existence of at least @Test method or @TestTrait method in your test suite.

running

Traitor can be run the same way you run JUnit - typically in your IDE or using your build tool (Maven, Gradle, Ant, etc.). Any test suites that use the Traits runner will automatically work.

license

traitor is part of palatable, which is distributed under The MIT License.