mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-31 05:40:42 +00:00 
			
		
		
		
	github.com/davecgh/go-spew/spew is set to the newest version, a bit newer than required by testify. Updated from version 6 Nov 2015 to 27 Jun 2017. github.com/stretchr/objx is not updated - testify uses version from 27 May 2014 which is older than 28 Sep 2015 used now (latest actually). In practice there is only a tiny difference - one method was removed in new version.
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Package mock provides a system by which it is possible to mock your objects
 | |
| // and verify calls are happening as expected.
 | |
| //
 | |
| // Example Usage
 | |
| //
 | |
| // The mock package provides an object, Mock, that tracks activity on another object.  It is usually
 | |
| // embedded into a test object as shown below:
 | |
| //
 | |
| //   type MyTestObject struct {
 | |
| //     // add a Mock object instance
 | |
| //     mock.Mock
 | |
| //
 | |
| //     // other fields go here as normal
 | |
| //   }
 | |
| //
 | |
| // When implementing the methods of an interface, you wire your functions up
 | |
| // to call the Mock.Called(args...) method, and return the appropriate values.
 | |
| //
 | |
| // For example, to mock a method that saves the name and age of a person and returns
 | |
| // the year of their birth or an error, you might write this:
 | |
| //
 | |
| //     func (o *MyTestObject) SavePersonDetails(firstname, lastname string, age int) (int, error) {
 | |
| //       args := o.Called(firstname, lastname, age)
 | |
| //       return args.Int(0), args.Error(1)
 | |
| //     }
 | |
| //
 | |
| // The Int, Error and Bool methods are examples of strongly typed getters that take the argument
 | |
| // index position. Given this argument list:
 | |
| //
 | |
| //     (12, true, "Something")
 | |
| //
 | |
| // You could read them out strongly typed like this:
 | |
| //
 | |
| //     args.Int(0)
 | |
| //     args.Bool(1)
 | |
| //     args.String(2)
 | |
| //
 | |
| // For objects of your own type, use the generic Arguments.Get(index) method and make a type assertion:
 | |
| //
 | |
| //     return args.Get(0).(*MyObject), args.Get(1).(*AnotherObjectOfMine)
 | |
| //
 | |
| // This may cause a panic if the object you are getting is nil (the type assertion will fail), in those
 | |
| // cases you should check for nil first.
 | |
| package mock
 |