mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-11-04 00:22:26 -06:00 
			
		
		
		
	* start fixing up tests * fix up tests + automate with drone * fiddle with linting * messing about with drone.yml * some more fiddling * hmmm * add cache * add vendor directory * verbose * ci updates * update some little things * update sig
		
			
				
	
	
		
			65 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// 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
 |