当我执行go test整个包时,测试失败:$ go test github.com/dm03514/go-edu-db/...# github.com/dm03514/go-edu-db/backendsgo1: internal compiler error: in read_type, at go/gofrontend/import.cc:669Please submit a full bug report,with preprocessed source if appropriate.See <file:///usr/share/doc/gccgo-4.9/README.Bugs> for instructions.FAIL github.com/dm03514/go-edu-db/backends [build failed]? github.com/dm03514/go-edu-db/cmd [no test files]# github.com/dm03514/go-edu-db/httpdgo1: internal compiler error: in read_type, at go/gofrontend/import.cc:669Please submit a full bug report,with preprocessed source if appropriate.See <file:///usr/share/doc/gccgo-4.9/README.Bugs> for instructions.FAIL github.com/dm03514/go-edu-db/httpd [build failed]? github.com/dm03514/go-edu-db/logging [no test files]虽然上述测试无法go install正确构建,但我可以正确运行每个单独的测试:$ go test github.com/dm03514/go-edu-db/backends/backends_test.gook command-line-arguments 0.025sgo test github.com/dm03514/go-edu-db/httpd/handlers_test.gook command-line-arguments 0.021s有没有人遇到过这个问题?我是 Go 的新手,为了解决这个问题,我刚刚单独执行了我的每个测试文件。go build 的输出是什么$ go build github.com/dm03514/go-edu-db/...$转到版本是$ go versiongo version xgcc (Ubuntu 4.9-20140406-0ubuntu1) 4.9.0 20140405 (experimental) [trunk revision 209157] linux/amd64
3 回答
慕婉清6462132
TA贡献1804条经验 获得超2个赞
这也发生在我身上。我最终只是评论了不同的测试,直到我能够看到有用的输出并看到它何时开始通过。根本原因是在测试完成后,我同时运行的测试 goroutine 正在调用之一t.Errorf
(具体来说,我使用的是testify /assert 包,但这最终调用了 t.Errorf)。使用的输出go test -v
最终有这个错误信息:
TestTradeReader_Subscribe 完成后 goroutine 失败
对我来说,发生这种情况是因为我正在使用httptest.Server
(在我的测试期间同时运行)并且正在检查快速退出且不需要此检查的测试用例的输入。
蛊毒传说
TA贡献1895条经验 获得超3个赞
可能是例行泄漏。您可能正在修改/更新测试中的全局变量,而不是在第二个测试中恢复。此错误的第二个原因可能是您的测试未在封闭的环境中运行。并在之后进行其他测试。您可以重新构建您的测试,以便给出错误的测试首先运行,以便它成功
- 3 回答
- 0 关注
- 402 浏览
添加回答
举报
0/150
提交
取消