From 3d271694d831be07823dc28a9ccb9e043b8569df Mon Sep 17 00:00:00 2001 From: Mat Ryer Date: Tue, 30 Aug 2016 13:00:43 +0100 Subject: [PATCH] added logo --- README.md | 8 +++++--- moq-logo.png | Bin 0 -> 21279 bytes 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 moq-logo.png diff --git a/README.md b/README.md index d064137..b65c803 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,24 @@ +![moq logo](moq-logo.png) + # moq Interface mocking tool for go generate. By [Mat Ryer](https://twitter.com/matryer) and [David Hernandez](https://github.com/dahernan), with ideas lovingly stolen from [Ernesto Jimenez](https://github.com/ernesto-jimenez). -## Usage +### Usage ``` moq InterfaceName -out mocks_test.go ``` -## Install +### Install ``` go install github.com/matryer/moq ``` -## How to use it +### How to use it Mocking interfaces is a nice way to write unit tests where you can easily control the behaviour of the mocked object. diff --git a/moq-logo.png b/moq-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ca1299680e37f2bf24b48dcc07be390fe318d699 GIT binary patch literal 21279 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