草庐IT

gui-testing

全部标签

unit-testing - 在 Go 中对 SSH 客户端进行单元测试

我用Go写了一个SSH客户端,我想写一些测试。问题是我以前从未真正编写过正确的单元测试,而且大多数教程似乎都侧重于为添加两个数字或其他玩具问题的函数编写测试。我读过有关模拟、使用接口(interface)和其他技术的信息,但我在应用它们时遇到了麻烦。此外,我的客户端将同时使用,以允许一次快速配置多个设备。不确定这是否会改变我编写测试的方式或是否会添加额外的测试。感谢您的帮助。这是我的代码。基本上,Device有4个主要功能:Connect、Send、Output/Err和Close分别用于连接到设备、向其发送一组配置命令、捕获session的输出以及关闭客户端。packagedevic

unit-testing - 在 Go 中对 SSH 客户端进行单元测试

我用Go写了一个SSH客户端,我想写一些测试。问题是我以前从未真正编写过正确的单元测试,而且大多数教程似乎都侧重于为添加两个数字或其他玩具问题的函数编写测试。我读过有关模拟、使用接口(interface)和其他技术的信息,但我在应用它们时遇到了麻烦。此外,我的客户端将同时使用,以允许一次快速配置多个设备。不确定这是否会改变我编写测试的方式或是否会添加额外的测试。感谢您的帮助。这是我的代码。基本上,Device有4个主要功能:Connect、Send、Output/Err和Close分别用于连接到设备、向其发送一组配置命令、捕获session的输出以及关闭客户端。packagedevic

unit-testing - 在包下运行 go test 时,如何在测试和覆盖率报告中跳过 go 文件

我想在运行gotest和覆盖时跳过某个包下的特定go文件。请找到下面的命令,我曾经在我的服务包下运行:cdsrc/service&&gotest--coverprofilecoverageService.out--coverpkg./. 最佳答案 不幸的是,没有简单的方法可以仅根据文件名跳过测试,但是,这里有三个可能有效的简单选项:1。使用正则表达式指定测试gotest命令支持-run运行时选项,它只运行满足正则表达式的测试:-runregexpRunonlythosetestsandexamplesmatchingtheregul

unit-testing - 在包下运行 go test 时,如何在测试和覆盖率报告中跳过 go 文件

我想在运行gotest和覆盖时跳过某个包下的特定go文件。请找到下面的命令,我曾经在我的服务包下运行:cdsrc/service&&gotest--coverprofilecoverageService.out--coverpkg./. 最佳答案 不幸的是,没有简单的方法可以仅根据文件名跳过测试,但是,这里有三个可能有效的简单选项:1。使用正则表达式指定测试gotest命令支持-run运行时选项,它只运行满足正则表达式的测试:-runregexpRunonlythosetestsandexamplesmatchingtheregul

unit-testing - 如何在 Go 子测试中添加超时?

我目前正在使用Go子测试并行运行多个测试。像这样的-funcTestGroupedParallel(t*testing.T){for_,tc:=rangetestCases{tc:=tc//capturerangevariablet.Run(tc.Name,func(t*testing.T){t.Parallel()ifgot:=foo(tc.in);got!=tc.out{t.Errorf("got%v;want%v",got,tc.out)}...})}}当我使用超时标志时,它会终止所有并行运行的测试。有什么办法可以让每个子测试超时?谢谢! 最佳答案

unit-testing - 如何在 Go 子测试中添加超时?

我目前正在使用Go子测试并行运行多个测试。像这样的-funcTestGroupedParallel(t*testing.T){for_,tc:=rangetestCases{tc:=tc//capturerangevariablet.Run(tc.Name,func(t*testing.T){t.Parallel()ifgot:=foo(tc.in);got!=tc.out{t.Errorf("got%v;want%v",got,tc.out)}...})}}当我使用超时标志时,它会终止所有并行运行的测试。有什么办法可以让每个子测试超时?谢谢! 最佳答案

unit-testing - 单元测试 tls 客户端

我有一个向TLS服务器发出https请求的函数。我想编写单元测试来测试客户端功能。我遇到了可用于模拟服务器的httptest.NewTLSServer。但是,我如何合并客户端使用的证书而不是NewTLSServer中使用的默认证书?以下是发出请求的客户端函数:funcMakeDownloadRequest(urlstring)(*http.Response,error){caCert,err:=ioutil.ReadFile("client/tlscerts/cert.pem")iferr!=nil{returnnil,err}caCertPool:=x509.NewCertPool(

unit-testing - 单元测试 tls 客户端

我有一个向TLS服务器发出https请求的函数。我想编写单元测试来测试客户端功能。我遇到了可用于模拟服务器的httptest.NewTLSServer。但是,我如何合并客户端使用的证书而不是NewTLSServer中使用的默认证书?以下是发出请求的客户端函数:funcMakeDownloadRequest(urlstring)(*http.Response,error){caCert,err:=ioutil.ReadFile("client/tlscerts/cert.pem")iferr!=nil{returnnil,err}caCertPool:=x509.NewCertPool(

design-patterns - 使用 Go,我应该如何访问传统基于继承的 GUI 框架中的窗口组件?

我正在使用GTKbindingsforGo做一些实验性工作.与大多数GUI框架一样,GTKGUI应用程序通常会生成一个主窗口,并且应用程序的工作是在该窗口的上下文中完成的。当您用C++编写GTKGUI应用程序时,您继承自框架窗口类-gtk.Window-并将应用程序的其他GUI组件声明为继承窗口类的公共(public)成员(或在您的窗口类中使用公共(public)访问方法)。这样它们就可以由窗口Controller类进行操作。它按名称将它们作为窗口类的成员进行寻址。您只需将指向主窗口的指针传递给Controller​​类,然后通过编写mWindow.MyWidget.text="tex

design-patterns - 使用 Go,我应该如何访问传统基于继承的 GUI 框架中的窗口组件?

我正在使用GTKbindingsforGo做一些实验性工作.与大多数GUI框架一样,GTKGUI应用程序通常会生成一个主窗口,并且应用程序的工作是在该窗口的上下文中完成的。当您用C++编写GTKGUI应用程序时,您继承自框架窗口类-gtk.Window-并将应用程序的其他GUI组件声明为继承窗口类的公共(public)成员(或在您的窗口类中使用公共(public)访问方法)。这样它们就可以由窗口Controller类进行操作。它按名称将它们作为窗口类的成员进行寻址。您只需将指向主窗口的指针传递给Controller​​类,然后通过编写mWindow.MyWidget.text="tex