草庐IT

test-dev

全部标签

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

linux - 我怎样才能回显到/dev/tty?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭7个月前。社区在7个月前审查了是否重新打开这个问题,然后将其关闭:原始关闭原因未解决Improvethisquestion有没有办法在执行后发送类似“数据结束”的东西echo"t

linux - 比/dev/random 更快但在密码学上有用的 RNG?

我已经开始了一些工作,其中需要一些高质量的随机字节,例如一次32个用于某些加密应用程序的初始化向量。我的问题是,这可能会同时被多次调用,我无法承受block/dev/random问题来等待更多的熵收集。我可以用它来播种其他算法,例如/dev/urandom可能做的事情-但是我不相信我无法理解的东西,我没有关于它的方法的任何现成资源我也不知道它在许多内核版本之间是否保持相同,我更喜欢某种定义明确的方法。您是否知道您可以想到的超过标准PRNG的任何方法,这些方法足以用于(同时)key生成等?某些密码(例如带有大种子的RC4)是否足以生成随机输出?(我见过一个使用它的/dev/frandom

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 - 如果我使用像 express 这样的 Node 服务器,是否需要 webpack-dev-server

我正在按照一些教程来构建一个具有express和react的同构应用程序。我对webpack-dev-server感到困惑。webpack教程介绍了webpack-dev-server:Thisbindsasmallexpressserveronlocalhost:8080whichservesyourstaticassetsaswellasthebundle(compiledautomatically).Itautomaticallyupdatesthebrowserpagewhenabundleisrecompiled(socket.io).Openhttp://localhost

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

unit-testing - 在类中测试扩展函数

如果我们想测试一个类型的扩展函数,我们可以创建这个类型的一个实例,调用函数并检查返回值。但是测试类内部定义的扩展函数呢?abstractclassAbstractClass{fundoStuff():T="Hello".foo()abstractfunString.foo():T}classSubClass1:AbstractClass(){overridefunString.foo():Int=1}classSubClass2:AbstractClass(){overridefunString.foo():Boolean=true}我们如何测试SubClass1和SubClass2类