Better test fluidity
Opened this issue · 0 comments
corbym commented
As a developer, I would prefer not to have to chain the given/when/then functions so that I can space the code out better.
Example:
Given(testing, clockParametersUnder(test)).
When(func(capturedIO testdata.CapturedIO, givens testdata.InterestingGivens) {
clock, err = berlinclock.Clock(test.time)
}).
Then(func(testingT base.TestingT, actual testdata.CapturedIO, givens testdata.InterestingGivens) {
then.AssertThat(testing, err, is.Nil())
then.AssertThat(testing, clock, is.
EqualTo(test.expected).
Reasonf("time incorrect for %s", test.time))
})
should be more like this:
func TestMyTest(testing *testing.T) {
Given(testing, clockParametersUnder(test))
When(func(capturedIO testdata.CapturedIO, givens testdata.InterestingGivens) {
clock, err = berlinclock.Clock(test.time)
})
Then(func(testingT base.TestingT, actual testdata.CapturedIO, givens testdata.InterestingGivens) {
then.AssertThat(testing, err, is.Nil())
then.AssertThat(testing, clock, is.
EqualTo(test.expected).
Reasonf("time incorrect for %s", test.time))
})
}