草庐IT

windows-test

全部标签

unit-testing - 在 Go 单元测试中使用两个不同的模拟

我正在学习使用gomock的mockgen实用程序第一次在Go中使用mock进行单元测试。我的单元测试工作正常,除了其中一个。被测方法有两个依赖项:一个依赖于数据库,另一个依赖于它调用restapi的外部服务。数据库的模拟(mockRepo)工作正常,因为被测方法正确调用模拟而不是实际的repo代码。然而,rest客户端的mock继续调用实际的rest客户端而不是mock代码。我不知道为什么。有人可以解释原因并帮助修复吗?这是我的单元测试:funcTestService_CreateWorkspace(t*testing.T){ts:=NewTestService(t)deferts.

linux - 通过传递路径打开文件在 Linux 上有效,但在 Windows 上无效

我为我的工作制作了一个小程序,它打开一个文件并检索我需要的一些信息并将它们放入2个新文件中。我在我的机器上写了代码,它按预期工作,但我在Ubuntu上,我需要在Windows上使用这个工具,但它崩溃了。Thefilename,directorynameorvolumelabelsyntaxisincorrect.goroutine1[running]:main.check(...)C:/Users/GADC/go/Natstar-util/listerDll/main.go:80main.main()C:/Users/GADC/go/Natstar-util/listerDll/mai

go - 如何在 linux 而非 Mac/windows 上从编译中排除一个 go 库?

我用import"github.com/dontpanic92/wxGo/wx"在可以使用或不使用GUI运行的程序中。即你可以像这样运行它:./program--guitrue或./program--guifalse当在Linux上使用GUIfalse运行时,我想避免必须编译所有wxGo/wx。我如何将相同的代码提交到git,以便它可以在Mac或Linux上正常编译。即现在,当我在Linux上编译时,我必须注释掉对wxGo/wx的任何引用 最佳答案 如果你想在某些操作系统、架构、Go版本上构建特定的Go文件,或者如果在编译期间指定了

go - vendor 问题 : found packages text (doc. 去)和转换(examples_test.go)在我的 vendor

这个问题在这里已经有了答案:Error"can'tloadpackage:packagemy_prog:foundpackagesmy_progandmain"(3个答案)关闭4年前。我遇到了一些问题:enterimagedescriptionhere..\vendor\github.com\spf13\afero\util.go:28:2:在D:\golang\src\services\vendor中找到包文本(doc.go)和转换(examples_test.go)\golang.org\x\text\transform我该如何解决这个问题?谢谢。

GoSonar : how to generate go test -json > report. json

如何生成gotest-json>report.jsonGo语言版本:Go1.10.3SonarQube属性:sonar.go.tests.reportPaths=report.json官方Sonar文档->https://docs.sonarqube.org/display/PLUG/Unit+Tests+Results+Import生成文件.PHONY:testtest:@$(foreachpackage,$(packages),\gotest-coverprofile$(package)/cover.out-covermode=count$(package);).PHONY:cov

unit-testing - 如何测试以确保函数被调用?

我想做单元测试。为了简单起见,我只想确保调用“JWTCheck”。我该怎么做?这是我实现JWTCheck的文件:typeJWTCheckerstruct{SubjectPrefixstring}func(j*JWTChecker)JWTCheck(nexthttp.Handler)http.Handler{//Dosomething}这是我实现路由器的地方:import("net/http""github.com/gorilla/mux")//Routerreturnsapreconfiguredrouterforapplicationfunc(a*Adapter)Router()ht

unit-testing - 如何确保所有异步函数在执行 defer 之前运行

我有一个函数说Myfunction(){x.RunAsync()//AsyncFunctioncall}我必须为Myfunction()编写一个测试用例。我正在为此使用go-mock。还有mockedx。Test_MyFunction(){mockCtrl:=gomock.NewController(t)defermockCtrl.Finish()//EXPECT()calltostubRunAsync()}现在的问题是我的测试运行成功,但不知何故最后它panic地说,对mockX.RunAsync()的调用丢失了。我认为这是因为在我的RunAsync被stub之前正在执行延迟。如何确

在 Windows 10 64 位分割错误上使用 Fitz 将 PDF 转换为图像

我正在OSX和Windows(VM)上编译以下程序packagemainimport("fmt"fitz"github.com/gen2brain/go-fitz")funcmain(){doc,err:=fitz.New("ML-XX-XX-XX.000_REV1.pdf")iferr!=nil{panic(err)}fmt.Println("finished")deferdoc.Close()}在OSX上这运行得非常好,在Windows上我得到一个段错误,并且输出消息(在命令提示符中)为exitstatus3221225477谷歌搜索似乎是缓冲区溢出,但不完全确定如何调试/处理它。

docker - docker 容器中的应用程序如何访问 Windows 中的数据库?

操作系统:WindowsServer2016我有一个用Go编写并放入docker容器中的应用程序。该应用程序必须访问“D:\test.db”。我该怎么做? 最佳答案 使用dockervolumes并在启动容器时使用-v或--mount标志。来自Docker文档的修改示例:$dockerrun-d\--mountsource=myvol2,target=/app\nginx:latest您只需将nginx:latext替换为您的图像名称,并根据需要调整source和target。另一个使用-v并以只读模式挂载的示例(也来自文档):$d

testing - 如何在 GO 中测试响应体?

我有以下功能:funcSomeFunction(whttp.ResponseWriter,...)error{...returnjson.NewEncoder(w).Encode(&c)}其中c是我的结构。当我运行该函数时,我收到带有json的响应主体,但我无法测试该函数。例如,我有:funcTestSomeFunction(t*testing.T){...w:=httptest.ResponseRecorder{}err:=SomeFunction(w,...)..}在这种情况下,我的w.Body是空的。问题不在于我的功能,因为我在运行时得到了body。我认为我没有以正确的方式进行测