go clean -i -r $(PROJECT)/... 2>/dev/null || true
test: export GOPATH = $(shell pwd)
-test:
+test: test_deps
go test $(PROJECT)/...
-clean: clean_deps
+test_watch: export GOPATH = $(shell pwd)
+test_watch: test_deps
+ $(BIN_DIR)/ginkgo watch $(SRC_DIR)/$(PROJECT)/...
+
+test_deps: export GOPATH = $(shell pwd)
+test_deps:
+ go get github.com/onsi/ginkgo/ginkgo
+ go get -t $(PROJECT)/...
+
+clean_test_deps: export GOPATH = $(shell pwd)
+clean_test_deps:
+ go clean -i -r github.com/onsi/ginkgo/ginkgo 2>/dev/null || true
+
+clean: clean_deps clean_test_deps
-rmdir $(BIN_DIR)
rm -rf $(PKG_DIR)
find $(SRC_DIR) -mindepth 1 -maxdepth 1 ! -name $(PROJECT) -exec rm -rf {} +
-.PHONY: all run build deps clean_deps test clean $(BIN)
+.PHONY: all run build deps clean_deps test test_watch test_deps clean_test_deps clean $(BIN)