package test import ( "github.com/dnwsilver/tld/internal/pkg/widgets" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/suite" ) // ExampleTestSuite 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 } // SetupTest Make sure that VariableThatShouldStartAtFive is set to five // before each test func (suite *ExampleTestSuite) SetupTest() { suite.VariableThatShouldStartAtFive = 5 } // TestExample All methods that begin with "Test" are run as tests within a // suite. func (suite *ExampleTestSuite) TestExample() { assert.Equal(suite.T(), 5, suite.VariableThatShouldStartAtFive) suite.Equal(5, suite.VariableThatShouldStartAtFive) } // TestExampleTestSuite 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)) } func TestApplicationSign(t *testing.T) { widget := widgets.ApplicationSign("John Travolta", 1994) result := widget.Render() assert.Equal(t, `󰗦 John Travolta, 1994`, result) }