我试图在多个软件包上运行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),结果是一样的。
答案 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) {}