1
0

doc.go 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. // Package suite contains logic for creating testing suite structs
  2. // and running the methods on those structs as tests. The most useful
  3. // piece of this package is that you can create setup/teardown methods
  4. // on your testing suites, which will run before/after the whole suite
  5. // or individual tests (depending on which interface(s) you
  6. // implement).
  7. //
  8. // A testing suite is usually built by first extending the built-in
  9. // suite functionality from suite.Suite in testify. Alternatively,
  10. // you could reproduce that logic on your own if you wanted (you
  11. // just need to implement the TestingSuite interface from
  12. // suite/interfaces.go).
  13. //
  14. // After that, you can implement any of the interfaces in
  15. // suite/interfaces.go to add setup/teardown functionality to your
  16. // suite, and add any methods that start with "Test" to add tests.
  17. // Methods that do not match any suite interfaces and do not begin
  18. // with "Test" will not be run by testify, and can safely be used as
  19. // helper methods.
  20. //
  21. // Once you've built your testing suite, you need to run the suite
  22. // (using suite.Run from testify) inside any function that matches the
  23. // identity that "go test" is already looking for (i.e.
  24. // func(*testing.T)).
  25. //
  26. // Regular expression to select test suites specified command-line
  27. // argument "-run". Regular expression to select the methods
  28. // of test suites specified command-line argument "-m".
  29. // Suite object has assertion methods.
  30. //
  31. // A crude example:
  32. // // Basic imports
  33. // import (
  34. // "testing"
  35. // "github.com/stretchr/testify/assert"
  36. // "github.com/stretchr/testify/suite"
  37. // )
  38. //
  39. // // Define the suite, and absorb the built-in basic suite
  40. // // functionality from testify - including a T() method which
  41. // // returns the current testing context
  42. // type ExampleTestSuite struct {
  43. // suite.Suite
  44. // VariableThatShouldStartAtFive int
  45. // }
  46. //
  47. // // Make sure that VariableThatShouldStartAtFive is set to five
  48. // // before each test
  49. // func (suite *ExampleTestSuite) SetupTest() {
  50. // suite.VariableThatShouldStartAtFive = 5
  51. // }
  52. //
  53. // // All methods that begin with "Test" are run as tests within a
  54. // // suite.
  55. // func (suite *ExampleTestSuite) TestExample() {
  56. // assert.Equal(suite.T(), 5, suite.VariableThatShouldStartAtFive)
  57. // suite.Equal(5, suite.VariableThatShouldStartAtFive)
  58. // }
  59. //
  60. // // In order for 'go test' to run this suite, we need to create
  61. // // a normal test function and pass our suite to suite.Run
  62. // func TestExampleTestSuite(t *testing.T) {
  63. // suite.Run(t, new(ExampleTestSuite))
  64. // }
  65. package suite