草庐IT

run_test

全部标签

testing - golang中如何测试并发和锁?

我们正在尝试测试锁。基本上,有多个客户端试图获得对特定key的锁定。在下面的示例中,我们使用了键“x”。我不知道如何测试锁定是否有效。我只能阅读日志以确定它是否正常工作。正确的事件顺序应该是:client1获得key“x”的锁client2尝试获取键“x”上的锁(fmt.Println("2gettinglock"))-但被阻止并等待client1释放对键“x”的锁定client2获得key“x”的锁问题1:如何使流程自动化并将其转化为测试?问题2:测试并发/互斥锁定的一般技巧有哪些?funcTestLockUnlock(t*testing.T){client1,err:=NewCli

unit-testing - 在 Golang 子进程测试中使用命令行标志时如何生成单元测试覆盖率?

我对大部分代码进行了单元测试。但是我无法弄清楚如何为main包中的main()中的某些代码生成单元测试覆盖率。主要功能非常简单。它基本上是一个选择block。它读取标志,然后调用另一个函数/执行某些操作,或者只是在屏幕上打印帮助。但是,如果命令行选项设置不正确,它将退出并显示各种错误代码。因此,需要进行子流程测试。我尝试了子流程测试技术,但修改了代码,使其包含覆盖标志:cmd:=exec.Command(os.Args[0],"-test.run=TestMain-test.coverprofile=/vagrant/ucover/coverage2.out")这里是原始代码:http

unit-testing - 如何在 Go 中编写挂起的测试

是否有合法的方法来写下我打算稍后为其编写完整测试功能的测试用例?就像待定的mochajs测试一样? 最佳答案 Thepackagedocs用testing.(*T).Skip描述这样的例子:TestsandbenchmarksmaybeskippedifnotapplicablewithacalltotheSkipmethodof*Tand*B:funcTestTimeConsuming(t*testing.T){iftesting.Short(){t.Skip("skippingtestinshortmode.")}...}如果您

unit-testing - 为什么数据库类型在 GO 中不是接口(interface)

为了使代码更易于测试,强调使用接口(interface)而不是具体类型。我想知道为什么没有对sql包中的类型(如DB或Rows)执行此操作。为了模拟这些依赖关系,我必须创建自己的接口(interface),以便我可以编写单元测试(而不是集成测试)。面向数据库的代码不应该以这种方式进行测试吗? 最佳答案 在公共(public)API中公开接口(interface)而不是具体类型会增加在向接口(interface)添加方法时破坏其他人代码的风险。参见示例os.File.如果os.File是一个接口(interface),它将是一个具有1

java - 如何处理 Android/Maven 项目中缺少 src/test/java 源文件夹?

我对Maven与Android的结合还不是很有经验,所以我关注了these制作新的Android项目的说明。创建项目后,我收到以下错误消息:Project'xxx-1.0-SNAPSHOT'ismissingrequiredsourcefolder:'src/test/java'当我尝试使用New->Other->Java-Source文件夹和src/test/java添加新的源文件夹时,我收到另一条错误消息:Thefolderisalreadyasourcefolder.但我的项目中没有任何src/test/java文件夹。我应该如何处理?设置项目的干净方法是什么,因为我认为此说明中

node.js - 指南针 :server not found when running `grunt server`

问题gruntserver输出如下:Warning:Task"compass:server"notfound.我在这里上传了Gruntfile.js:https://gist.github.com/ComFreek/7289648这是我新建Yeoman项目后得到的默认文件。详情我正在阅读BuildingWebAppsWithYeomanAndPolymer并按照描述的控制台命令运行。我的系统:Windows8.1专业版64位NodeJS0.10.21NPM1.3.11我已经执行了这些命令:npminstall-gyonpminstallgenerator-polymer-gyopoly

node.js - npm run cmd 失败,而命令行上的 cmd 工作

在我的HTTPStatusCheckproject:如果我运行node_modules/.bin/jshint.我会得到:$node_modules/.bin/jshint.test/inAdapters_fileAdapter.js:line73,col31,Missingsemicolon.1error它正确执行并产生预期的输出:1个错误。但是,如果我将该命令添加到package.json并尝试通过npmrun运行它,那么它可以工作并产生预期的输出,但也会出现一堆错误:$npmrunjshint>http-status-check@0.0.5jshint/home/guy/sour

docker - 为什么 "docker run -t"输出在命令输出中包含\r?

我使用的是Docker客户端版本:18.09.2。当我以交互方式运行启动容器并运行date命令,然后将其输出通过管道传输到hexdump进行检查时,我看到了一个尾随\n符合预期:$dockerrun--rm-i-talpine/#date|hexdump-c0000000ThuMar700:150000010:06UTC2019\n000001d但是,当我直接将date命令作为入口点传递并运行容器时,我每次都会得到一个\r\n输出中有一个新行。$dockerrun--rm-i-t--entrypoint=datealpine|hexdump-c0000000ThuMar700:1600

docker - 多个 RUN 指令与单个 CMD 执行 Dockerfile 中的设置脚本以初始化容器

在Dockerfile中使用多个RUN命令来设置镜像与在容器启动时使用单个CMD指令来执行脚本的最佳做法是什么?例如:FROMcentos:latestRUNuseraddmyuserRUNmkdir-p/usr/local/myappADD./resources/myapp.zip/usr/local/myappRUNunzip/usr/local/myapp/myapp.zipRUNchown-Rmyuser:myuser/usr/local/myappCMD["/usr/local/myapp/bin/app"]对比FROMcentos:latestADD./resources/

java - 为什么库模块 android.support.test 在添加依赖项中不可见

我正在将Espresso添加到我在AndroidStudio中的项目中。我已经安装了支持存储库,实际上已经在使用它的一部分。然后我将这些依赖项添加到app/build.gradle根据安装说明:androidTestCompile'com.android.support.test.espresso:espresso-core:2.0'androidTestCompile'com.android.support.test:testing-support-lib:0.1'在编写我的测试时,自动完成会识别Artifact的存在。但是当我运行我得到这个错误:error:packageandro