mirror of https://github.com/dexidp/dex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.6 KiB
65 lines
2.6 KiB
// 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
|
|
|