After cloning Fabric, you can can test fabric binaries using a sample configuration. Using the binaries and sample configuration makes it simple and quick to iteratively make code changes, rebuild fabric, and test your changes from an end-to-end consumer perspective.
...
peer lifecycle chaincode package marbles.tar.gz --path github.com/hyperledger<PATH_TO_FABRIC_SOURCE>/fabric/integration/chaincode/marbles/cmd --lang golang --label marbles_1
...
peer chaincode invoke -o 127.0.0.1:7050 -C mychannel -n marbles -c '{"Args":["initMarble","marble1","blue","35","tom"]}' --waitForEvent
...
peer chaincode invoke -o 127.0.0.1:7050 -C mychannel -n marbles -c '{"Args":["transferMarble","marble1","jerry"]}' --waitForEvent
...
Cleanup data, chaincode containers and images
rm -r /var/hyperledger/
docker rm -f $(docker ps -aq)
docker rmi -f $(docker images -q --filter=reference='*dev*')
The CLI commands can be scripted or copy/pasted to expedite execution:
...
peer chaincode install -n marbles -p github.com/hyperledger/fabric/integration/chaincode/marbles/cmd-v 1
peer chaincode instantiate -C mychannel -n marbles -c '{"Args":["init"]}' -v 1 -o 127.0.0.1:7050
...