1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
package assert
import (
"testing"
"github.com/smartystreets/assertions/internal/unit"
"github.com/smartystreets/assertions/should"
)
func TestFailedResultFixture(t *testing.T) {
unit.Run(new(FailedResultFixture), t)
}
type FailedResultFixture struct {
*unit.Fixture
result *Result
}
func (this *FailedResultFixture) Setup() {
this.result = So(1, should.Equal, 2)
this.result.logger = capture()
this.result.stdout = this.result.logger.Log
}
func (this *FailedResultFixture) assertLogMessageContents() {
this.So(this.result.logger.Log.String(), should.ContainSubstring, "✘ So(actual: 1, should.Equal, expected: [2])")
this.So(this.result.logger.Log.String(), should.ContainSubstring, "Assertion failure at ")
this.So(this.result.logger.Log.String(), should.EndWith, "Expected: '2'\nActual: '1'\n(Should be equal)\n")
}
func (this *FailedResultFixture) TestQueryFunctions() {
this.So(this.result.Failed(), should.BeTrue)
this.So(this.result.Passed(), should.BeFalse)
this.So(this.result.logger.Log.Len(), should.Equal, 0)
this.result.logger.Print(this.result.String())
this.result.logger.Print(this.result.Error())
this.assertLogMessageContents()
}
func (this *FailedResultFixture) TestPrintln() {
this.So(this.result.Println(), should.Equal, this.result)
this.assertLogMessageContents()
}
func (this *FailedResultFixture) TestLog() {
this.So(this.result.Log(), should.Equal, this.result)
this.assertLogMessageContents()
}
func (this *FailedResultFixture) TestPanic() {
this.So(func() { this.result.Panic() }, should.Panic)
this.assertLogMessageContents()
}
func (this *FailedResultFixture) TestFatal() {
this.So(this.result.Fatal(), should.Equal, this.result)
this.assertLogMessageContents()
}
|