草庐IT

junit-team

全部标签

java - 从 Junit 运行时,System.out.print 不会输出到控制台

运行时:publicstaticvoidmain(String...args)throwsInterruptedException{while(true){System.out.print(".");Thread.sleep(200);}}对比从junit运行相同的代码时:@Testpublicvoidtest()throwsException{while(true){System.out.print(".");Thread.sleep(200);}}有不同的行为:对于main()-当进程运行时,输出按预期显示("."->".."->"...")但是,对于JUnit,当运行同一段代码时

java - JUnit 5 中的 TestName 规则等效于什么?

如何获取JUnit5中测试方法的名称? 最佳答案 在你的测试方法和JUnitwillautomaticallysupplyaninstance中声明一个TestInfo类型的参数方法的一部分:@TestvoidgetTestInfo(TestInfotestInfo){//AutomaticallyinjectedSystem.out.println(testInfo.getDisplayName());System.out.println(testInfo.getTestMethod());System.out.println(t

java - 如何为套件中的所有测试用例应用 JUnit @Rule

我正在使用JUnit4.10来运行测试套件,并且我已经按照MatthewFarwell在HowtoRe-runfailedJUnittestsimmediately?中的出色说明实现了“重试失败测试”规则。邮政。我使用以下代码创建了一个类“RetryTestRule”:publicclassRetryTestRuleimplementsTestRule{privatefinalintretryCount;publicRetryTestRule(intretryCount){this.retryCount=retryCount;}@OverridepublicStatementapply

java - JUnit 测试 "Times Out"尽管执行速度很快?

我有几个测试用例,JUnit告诉我在10000毫秒后超时,而整个测试运行仅持续几秒钟。这是输出:Testsrun:3,Failures:0,Errors:2,Skipped:0,Timeelapsed:2.528sec当整个测试运行仅持续4.3秒时,我的测试似乎不太可能因为运行时间超过10(或50)秒而超时。:)这是我用来运行测试的POM中的surefire配置:org.apache.maven.pluginsmaven-surefire-plugin${maven-surefire-plugin.version}provided**/*Tests.*有没有人对为什么会发生这种情况有任

java - 为什么不推荐使用 JUnit 4 中的 assertEquals(Object[], Object[])?

Eclipse向我发出警告,指出Assert类型的方法assertEquals(Object[],Object[])已弃用。我正在使用JUnit4。我在Eclipse中写了如下代码:importorg.junit.Test;importorg.junit.Assert;publicclassGenerics{publicT[]genericArraySwap(T[]list,intpos1,intpos2)throwsIndexOutOfBoundsException{...}@TestpublicvoidgenericArraySwapTest(){Integer[]IntegerL

java - Ant Junit 测试通过 Ant 运行的速度比通过 IDE 慢得多 - 要看什么?

我正在通过ant运行我的junit测试,它们的运行速度比通过IDE慢得多。我的Ant电话是:通过Ant运行时,在我的IDE中几乎瞬时运行的相同测试(0.067秒)需要4.632秒。过去,我已经能够通过使用junitfork参数来加速像这样的测试问题,但这在这种情况下似乎没有帮助。我可以查看哪些属性或参数来加快这些测试?更多信息:我使用的是来自IDE的报告时间与junit任务输出的时间。这不是Ant运行结束时报告的总时间。奇怪的是,这个问题已经自行解决了。是什么导致了这个问题?系统在本地磁盘上运行,所以这不是问题。 最佳答案 这是一个

java - 使用 JUnit 时让 TimerTask 运行

我有一个看起来像这样的函数:privateTimertimer=newTimer();privatevoiddoSomething(){timer.schedule(newTimerTask(){publicvoidrun(){doSomethingElse();}},(1000));}我正在尝试为我的代码编写JUnit测试,但在特别测试这段代码时,它们的行为不如预期。通过使用EclEmma,我能够看到我的测试从未触及doSomethingElse()函数。我如何在JUnit中编写测试,等待足够长的时间让TimerTask完成,然后再继续测试? 最佳答案

java - 为什么 junit ComparisonFailure 没有被 assertEquals(Object, Object) 使用?

在Junit4中,当assertEquals(Object,Object)失败时,您是否发现抛出ComparisonFailure而不是AssertionError有任何缺点?assertEquals(Object,Object)抛出一个ComparisonFailure如果预期和实际都是字符串一个AssertionError如果其中一个不是字符串AssertionError消息已经是这种形式"expected:butwas(通过String.valueOf,参见下面由Assert.assertEquals(Object,Object)调用的junit-4.8.2方法来构建Assert

java - RAD 偶发错误 - 无法初始化 com.ibm.rational.team.client.ui.model.common.ImageManager

我正在使用RAD版本7.5.4,每当我打开IDE时,都会弹出以下错误。发生错误。有关详细信息,请参阅错误日志。com.ibm.rational.team.client.ui.model.common.ImageManager(初始化失败)如果类路径中有需要添加的jar,请帮忙堆栈跟踪:!ENTRYorg.eclipse.ui.workbench422011-10-2414:50:47.258!MESSAGE从插件调用代码时出现问题:“org.eclipse.ui.workbench”。!堆栈0java.lang.NoClassDefFoundError:com.ibm.rational

java.lang.NoSuchMethodError : javax. servlet.http.HttpServletRequest.isAsyncStarted() 同时使用 Mockito 和 Junit

我正尝试着手研究TDD。我正在尝试使用Mockito结合MockMvc和Junit为Controller编写单元测试用例。但是我遇到了一个运行时错误,因此我的测试失败了。起初,由于找不到javax.servlet.SessionCookieConfig,我在设置中初始化MockMvc实例时遇到问题。我通过下载javax.servletapi并将其配置到项目的构建路径中解决了这个问题,但随后我面临着java.lang.NoSuchMethodError:javax.servlet.http.HttpServletRequest.isAsyncStarted()在MockMvc实例上使用p