为什么测试没有运行? (Golang) - goapp测试 - bug?

时间:2014-03-31 21:50:29

标签: google-app-engine go

我试图在多个软件包上运行GAE测试。我的应用程序(testapp)如下所示:

testapp> 
README.md     package1 package2

每个包都有两个go文件。一个是包本身,另一个是测试'封装

包1

$ls package1
package1.go package1_test.go

包2

$ls package2
package2.go package2_test.go

要运行我使用的测试

goapp test -v ./...

输出:

 warning: building out-of-date packages:
        github.com/mihai/API
    installing these packages with 'go test -i ./...' will speed future tests.

    === RUN TestGetDiskFile
    codelistgobfile.gob
    codelist.gob written successfully
    --- PASS: TestGetDiskFile (0.00 seconds)
    PASS
    ok      testapp/package1    0.010s

但是正如您在上面看到的那样,它似乎只运行package1的第一个测试(TestGetDiskFile)。之后就会卡住。我没有得到任何输出。如果我进入每个包(cd package 1)并运行goapp test所有测试(大约20个测试)成功运行

我知道如何修复/运行所有测试而不会卡住或至少我可以进一步调试它吗?这是一个goapp错误?  我试过两台不同的机器(Mac osx和ubuntu),结果是一样的。

1 个答案:

答案 0 :(得分:0)

要进行调试,请将内容删除到最小的测试用例。例如,以下是go test -v ./...的最小测试用例。尝试类似goapp test -v ./...

$ dir
package1  package2
$ tree ../packages
../packages
├── package1
│   └── package1_test.go
└── package2
    └── package2_test.go
2 directories, 2 files
$ go test -v ./...
=== RUN TestPackage1
--- PASS: TestPackage1 (0.00 seconds)
PASS
ok      packages/package1   0.004s
=== RUN TestPackage2
--- PASS: TestPackage2 (0.00 seconds)
PASS
ok      packages/package2   0.004s
$

档案:package1_test.go

package package1

import "testing"

func TestPackage1(t *testing.T) {}

档案:package2_test.go

package package2

import "testing"

func TestPackage2(t *testing.T) {}