Skip to content
Branch: master
Go to file
Code

Latest commit

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
doc
 
 
 
 
run
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Testory makes your tests human-readable by using given-when-then idiom advised by Behavior Driven Development .

With Testory you can decorate your code adding given, when and then keywords, where then works like junit's assertTrue.

    given(list = new ArrayList<String>());
    when(list.add("element"));
    then(!list.isEmpty());

You can assert value returned in when ...

    given(list = new ArrayList<String>());
    given(list.add("element"));
    when(list.get(0));
    thenReturned("element");

or assert that exception was thrown.

    given(list = new ArrayList<String>());
    when(list).get(0);
    thenThrown(IndexOutOfBoundsException.class);

You can stub a mock to return Object or throw Throwable ...

    given(list = mock(List.class));
    given(willReturn(object), list).get(1);
    given(willThrow(new IndexOutOfBoundsException()), list).get(2);

and verify call.

    given(output = mock(OutputStream.class));
    given(filterOutput = new FilterOutputStream(output));
    when(filterOutput).close();
    thenCalled(output).close();

Tests can be even more compact using matchers ...

    given(list = new ArrayList<String>());
    given(list.add("element"));
    when(list.clone());
    thenReturned(not(sameInstance(list)));

or handy macros.

    given(list = new ArrayList<String>());
    givenTimes(5, list).add("element");
    when(list.size());
    thenReturned(5);

See Documentation for complete list of features.

You can’t perform that action at this time.