| package main_test |
| |
| import ( |
| "testing" |
| |
| "github.com/stretchr/testify/suite" |
| ) |
| |
| // Define the suite, and absorb the built-in basic suite |
| // functionality from testify - including a T() method which |
| // returns the current testing context |
| type ExampleTestSuite struct { |
| suite.Suite |
| VariableThatShouldStartAtFive int |
| } |
| |
| // Make sure that VariableThatShouldStartAtFive is set to five |
| // before each test |
| func (suite *ExampleTestSuite) SetupTest() { |
| suite.VariableThatShouldStartAtFive = 5 |
| } |
| |
| // All methods that begin with "Test" are run as tests within a |
| // suite. |
| func (suite *ExampleTestSuite) TestExample() { |
| if suite.VariableThatShouldStartAtFive != 5 { |
| suite.T().Fatalf("%d != %d", 5, suite.VariableThatShouldStartAtFive) |
| } |
| } |
| |
| // In order for 'go test' to run this suite, we need to create |
| // a normal test function and pass our suite to suite.Run |
| func TestExampleTestSuite(t *testing.T) { |
| suite.Run(t, new(ExampleTestSuite)) |
| } |