An open API service indexing awesome lists of open source software.

https://github.com/palatable/traitor

Trait testing in JUnit
https://github.com/palatable/traitor

Last synced: 5 months ago
JSON representation

Trait testing in JUnit

Awesome Lists containing this project

README

          

traitor [![Build Status](https://travis-ci.org/palatable/traitor.png?branch=master)](https://travis-ci.org/palatable/traitor)
=======

Trait testing with JUnit.

installation
------------

Add the following dependency to your `pom.xml` file:

```xml

com.jnape.palatable
traitor
1.0

```

usage
-----

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

```Java
@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);
}
}
```

```Java
public class Laziness implements Trait {

@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](http://www.github.com/palatable), which is distributed under [The MIT License](http://choosealicense.com/licenses/mit/).