草庐IT

unit-testing - 如何在 Kotlin 中管理单元测试资源,例如启动/停止数据库连接或嵌入式 Elasticsearch 服务器?

在我的KotlinJUnit测试中,我想启动/停止嵌入式服务器并在我的测试中使用它们。我尝试在我的测试类中的方法上使用JUnit@Before注释,它工作正常,但这不是正确的行为,因为它运行每个测试用例而不是只运行一次。因此,我想在方法上使用@BeforeClass注释,但是将其添加到方法会导致错误,指出它必须在静态方法上。Kotlin似乎没有静态方法。这同样适用于静态变量,因为我需要保留对嵌入式服务器的引用以供测试用例使用。那么如何为我的所有测试用例只创建一次这个嵌入式数据库?classMyTest{@Beforefunsetup(){//worksinthatitopensthed

android - 找不到类 : Empty test suite when running unit tests in Android Studio

我的Android应用有一个测试套件,所有单元测试都运行良好。但是,每当我对我的一个单元测试类(例如,ModelUnitTests)进行一次更改时,在尝试再次运行该类时,我都会收到此消息Processfinishedwithexitcode1Classnotfound:"xxx.xxxxxx.xxx.ModelUnitTests"Emptytestsuite.如果我执行gradleclean然后再次运行类测试,它运行良好(但需要4分钟才能完成......),但是新的更改会再次破坏它。关于如何解决这个问题的任何建议?我不确定我应该发布哪个测试配置。我正在使用单元测试Artifact,我的

unit-testing - 像往常一样对 docker 容器或 dockerize 测试运行测试?

我是Docker新手,正在阅读Docker。这是在独立且可重现的标准化配置中测试系统的好方法(如果操作正确)。但是,在我阅读的所有内容中,似乎并没有过多强调应该如何使用docker容器进行测试。docker用于“包含”基础设施和应用程序(代码),以便于测试(以及部署)。但有时测试代码库很大,也不是那么简单。一个人可以有一个测试代码库用于API测试,另一个用于UI等。测试Docker容器/应用程序/基础设施的部署的标准做法是什么,或者应该是什么?应该:测试代码以旧的传统方式部署,作为您从某个地方提取的文件存储库,然后在Jenkins服务器/从属或本地主机上运行以进行开发/QA测试/调试,

unit-testing - 在 Grails 2.2 中是否可以对 mongodb 动态属性进行单元测试?

mongodb-1.1.0GA的文档在单元测试部分似乎已经过时:http://springsource.github.com/grails-data-mapping/mongo/manual/ref/Testing/DatastoreUnitTestMixin.html以下代码@TestFor(Employee)classEmployeeTestsextendsGroovyTestCase{voidsetUp(){}voidtearDown(){}voidtestSomething(){mockDomain(Employee)defs=newEmployee(firstName:"fi

c++ - 术语 "source file"和 "translation unit"之间有什么区别?

源文件和翻译单元有什么区别? 最佳答案 来自C++标准:Asourcefiletogetherwithalltheheadersandsourcefilesincludedviathepreprocessingdirective#includelessanysourcelineskippedbyanyoftheconditionalinclusionpreprocessingdirectivesiscalledatranslationunit. 关于c++-术语"sourcefile"和

unit-testing - 如何对 Go 错误进行单元测试

当您对具有error返回类型的函数进行单元测试时,我想知道如何正确地对该错误进行单元测试。您是否应该只检查错误是否为零?或者您是否应该验证错误字符串也与预期字符串匹配? 最佳答案 在大多数情况下,您只需检查错误是否不为零。除非绝对必要,否则我建议不要检查错误字符串。我通常认为错误字符串仅供人类使用。如果您需要有关错误的更多详细信息,一种更好的选择是自定义错误类型。然后您可以切换err.(type)并查看它是否是您期望的类型。如果您需要更多详细信息,可以使自定义错误类型包含值,然后您可以在测试中检查这些值。Go的错误只是具有Error

unit-testing - 在 Golang 中测试 HTTP 路由

我正在使用Gorillamux和net/http包创建一些路由,如下所示packageroutes//someimports//somestufffuncAddQuestionRoutes(r*mux.Router){s:=r.PathPrefix("/questions").Subrouter()s.HandleFunc("/{question_id}/{question_type}",getQuestion).Methods("GET")s.HandleFunc("/",postQuestion).Methods("POST")s.HandleFunc("/",putQuestio

unit-testing - 如何测试永远循环的代码

我有一个应用程序(epazote),一旦启动就永远运行,但我想在它阻塞/等待直到按下ctrl+c之前测试一些值或被杀了。这是一个小例子:http://play.golang.org/p/t0spQRJB36packagemainimport("fmt""os""os/signal")typeIAddStringinterface{AddString(string)}typeaddStringstruct{}func(self*addString)AddString(sstring){fmt.Println(s)}funcblock(aIAddString,sstring){//test

unit-testing - 在 Go 中测试不带 sleep 的异步结果

我的代码中有相当多的组件具有持久的go-routines,它们监听事件以触发操作。大多数情况下,他们没有理由(在测试之外)在完成该操作后发回通知。但是,我的单元测试使用sleep来等待这些异步任务完成://Sendnotificationevent.mock.devices这似乎很糟糕,但我还没有想出一个更好的解决方案,它不会给非测试使用增加不合理的开销。有没有我错过的合理解决方案? 最佳答案 惯用的方法是将donechannel与您的数据一起传递给工作程序go-routine。go-routine应该closedonechanne

unit-testing - 如何在 golang 中测试 io.writer?

最近希望为golang写一个单元测试。函数如下。func(s*containerStats)Display(wio.Writer)error{fmt.Fprintf(w,"%s%s\n","hello","world")returnnil}那么如何测试“funcDisplay”的结果是“helloworld”呢? 最佳答案 您可以简单地传入您自己的io.Writer并测试写入其中的内容是否符合您的预期。对于这样的io.Writer,bytes.Buffer是一个不错的选择,因为它只是将输出存储在其缓冲区中。funcTestDispl