1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // Package suite contains logic for creating testing suite structs
- // and running the methods on those structs as tests. The most useful
- // piece of this package is that you can create setup/teardown methods
- // on your testing suites, which will run before/after the whole suite
- // or individual tests (depending on which interface(s) you
- // implement).
- //
- // A testing suite is usually built by first extending the built-in
- // suite functionality from suite.Suite in testify. Alternatively,
- // you could reproduce that logic on your own if you wanted (you
- // just need to implement the TestingSuite interface from
- // suite/interfaces.go).
- //
- // After that, you can implement any of the interfaces in
- // suite/interfaces.go to add setup/teardown functionality to your
- // suite, and add any methods that start with "Test" to add tests.
- // Methods that do not match any suite interfaces and do not begin
- // with "Test" will not be run by testify, and can safely be used as
- // helper methods.
- //
- // Once you've built your testing suite, you need to run the suite
- // (using suite.Run from testify) inside any function that matches the
- // identity that "go test" is already looking for (i.e.
- // func(*testing.T)).
- //
- // Regular expression to select test suites specified command-line
- // argument "-run". Regular expression to select the methods
- // of test suites specified command-line argument "-m".
- // Suite object has assertion methods.
- //
- // A crude example:
- // // Basic imports
- // import (
- // "testing"
- // "github.com/stretchr/testify/assert"
- // "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() {
- // assert.Equal(suite.T(), 5, suite.VariableThatShouldStartAtFive)
- // suite.Equal(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))
- // }
- package suite
|