猿问

我已经为我的Github项目Captain设置了travis build

我已经为我的Github项目Captain设置了travis build, 内容.travis.yml是:

language: go


go:

  - 1.12.x


script:

  make


env:

  - GO111MODULE=on GOPROXY=https://proxy.golang.org

我的内容Makefile是:


# Go parameters

BINARY_FOLDER=./bin

GOCMD=go

GOBUILD=$(GOCMD) build

GOCLEAN=$(GOCMD) clean

GOTEST=$(GOCMD) test

GOGET=$(GOCMD) get

BINARY_NAME=captain

BINARY_UNIX=$(BINARY_NAME)_unix


all: test build

build: 

        $(GOBUILD) -o $(BINARY_FOLDER)/$(BINARY_NAME) ./cmd/...

test: 

        $(GOTEST) -v ./...

clean: 

        rm -rf $(BINARY_FOLDER)

run: all

        $(BINARY_FOLDER)/$(BINARY_NAME)



# Cross compilation

build-linux:

        CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(GOBUILD) -o $(BINARY_UNIX) -v

docker-build:

        docker run --rm -it -v "$(GOPATH)":/go -w /go/src/bitbucket.org/rsohlich/makepost golang:latest go build -o "$(BINARY_UNIX)" -v

当 travis 构建触发时,它会出错:


go test -v ./...

go: finding github.com/gorilla/mux v1.7.3

go: finding github.com/lib/pq v1.2.0

go: finding github.com/google/uuid v1.1.1

go: finding github.com/DATA-DOG/go-sqlmock v1.3.3

go: downloading github.com/DATA-DOG/go-sqlmock v1.3.3

go: downloading github.com/lib/pq v1.2.0

go: extracting github.com/DATA-DOG/go-sqlmock v1.3.3

go: extracting github.com/lib/pq v1.2.0

# github.com/alwindoss/captain/cmd/captain

cmd/captain/main.go:4:2: undefined: Run

=== RUN   TestCreateWorklistPositiveScenario

2019/08/10 14:56:19 Creating Worklist

2019/08/10 14:56:19 {"id": "ID", "name": "name"}

2019/08/10 14:56:19 Creating worklist in the RDBMS Store

2019/08/10 14:56:19 Last Inserted ID: 1

2019/08/10 14:56:19 ID = 1, affected = 1

--- PASS: TestCreateWorklistPositiveScenario (0.00s)

=== RUN   TestCreateWorklistWhenBadRequestIsSent

2019/08/10 14:56:19 Creating Worklist

2019/08/10 14:56:19 This is a bad request

--- PASS: TestCreateWorklistWhenBadRequestIsSent (0.00s)

PASS

ok      github.com/alwindoss/captain/internal/handler   0.005s

Makefile:15: recipe for target 'test' failed

make: *** [test] Error 2

在作业日志中,我看到所有测试都通过了,但构建并未超出此范围。Makefile在我的 Mac 上本地运行也没有问题。


我不确定问题出在哪里。在 Makefile 中或以我配置 Travis CI 的方式。


翻阅古今
浏览 148回答 1
1回答

胡子哥哥

有趣的错误消息是:cmd/captain/main.go:4:2: undefined: Run因此,在您的第 4 行main.go,您引用了一个未定义的符号Run。
随时随地看视频慕课网APP

相关分类

Go
我要回答