有没有办法拥有一个JUnit规则或类似的东西,让每个失败的测试都有第二次机会,只需尝试再次运行它。背景:我有大量用JUnit编写的Selenium2-WebDriver测试。由于非常激进的时间安排(点击后只有很短的等待时间),一些测试(100次中的1次,并且总是不同的测试)可能会失败,因为服务器有时会响应较慢。但是我不能让等待时间太长以至于它绝对足够长,因为那样测试将永远持续。)-所以我认为这个用例即使需要第二个测试也是绿色的也是可以接受的试试看。当然,最好有3个多数中的2个(重复失败的测试3次,如果其中两个测试正确,则认为它们是正确的),但这将是future的改进。
是否有与NUnit的CollectionAssert平行的jUnit?? 最佳答案 使用JUnit4.4,您可以将assertThat()与Hamcrest一起使用代码(不用担心,它与JUnit一起提供,不需要额外的.jar)来生成复杂的自描述断言,包括对集合进行操作的断言:importstaticorg.junit.Assert.assertThat;importstaticorg.junit.matchers.JUnitMatchers.*;importstaticorg.hamcrest.CoreMatchers.*;List
我是使用JUnit进行Java测试的新手。我必须使用Java,我想使用单元测试。我的问题是:我有一个带有一些抽象方法的抽象类。但是有些方法不是抽象的。如何用JUnit测试这个类?示例代码(很简单):abstractclassCar{publicCar(intspeed,intfuel){this.speed=speed;this.fuel=fuel;}privateintspeed;privateintfuel;abstractvoiddrive();publicintgetSpeed(){returnthis.speed;}publicintgetFuel(){returnthis.
我已经使用JUnit4和spring-test库编写了一些JUnit测试。当我在Eclipse中运行测试时,运行良好并通过。但是当我使用Maven运行它们时(在构建过程中),它们无法给出与spring相关的错误。我不确定是什么导致了这个问题,JUnit、Surefire还是Spring。这是我的测试代码、spring配置和我从Maven获得的异常:PersonServiceTest.javapackagecom.xyz.person.test;importstaticcom.xyz.person.util.FjUtil.toFjList;importstaticjunit.framew
目前我有以下build.gradle文件:applyplugin:'java'sourceSets{main{java{srcDir'src/model'}}}dependencies{compilefiles('libs/mnist-tools.jar','libs/gson-2.2.4.jar')runtimefileTree(dir:'libs',include:'*.jar')}这个build.gradle文件用于我的存储库here.我所有的主要文件都在src/model/中,它们各自的测试都在test/model中。如何正确添加JUnit4依赖项,然后在tests/model
我不明白JUnit4.8应该如何与Hamcrest匹配器一起工作。junit-4.8.jar内部定义了一些匹配器在org.hamcrest.CoreMatchers中。同时,hamcrest-all-1.1.jar中还有一些other匹配器。在org.hamcrest.Matchers中。那么,去哪里呢?我是否应该在项目中明确包含hamcrestJAR并忽略JUnit提供的匹配器?特别是,我对empty()匹配器很感兴趣,但在这些jar中都找不到它。我需要别的东西吗?:)还有一个哲学问题:为什么JUnit将org.hamcrest包包含在自己的发行版中,而不是鼓励我们使用原始的hamc
我有一些测试工作正常。然后,我将它移到另一个包中,现在出现错误。代码如下:importstaticorg.junit.Assert.*;importjava.util.HashSet;importjava.util.Map;importjava.util.Set;importorg.jgrapht.Graphs;importorg.jgrapht.WeightedGraph;importorg.jgrapht.graph.DefaultWeightedEdge;importorg.jgrapht.graph.SimpleWeightedGraph;importorg.junit.*;@
这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:JUnit:assertEqualsfordoublevalues显然assertEquals(doubleexpected,doubleactual)已被弃用。考虑到JUnit的广泛使用,JUnit的javadocs令人惊讶地缺乏。你能告诉我如何使用新的assertEquals(doubleexpected,doubleactual,doubleepsilon)? 最佳答案 Epsilon是您的“模糊因子”,因为double可能不完全相等。Epsilon
我有一些需要大量堆空间才能运行的Junit单元测试-即1G。(他们为webstart应用程序测试内存密集型功能,该应用程序只能在足够的堆空间下运行,并且将在Win764位机器上内部运行-所以重新设计测试不是一个实际的建议。)我正在IntellijIDEA中开发,所以我知道我可以为测试类设置JVM参数(例如-Xmx1024M)。但是,这仅适用于运行整个测试类-如果我想运行单个测试,我必须为该测试方法重新创建运行配置。另外,这些是特定于IDE和盒子的-所以如果我切换盒子(我在多台机器上开发)或我的一位同事尝试运行测试,这些设置不会被转移。(此外,我的同事也使用Eclipse和NetBean
在我们的项目中,我有几个JUnit测试例如从目录中获取每个文件并对其运行测试。如果我在TestCase中实现testEveryFileInDirectory方法,这将显示为只有一个可能失败或成功的测试。但我对每个单独文件的结果感兴趣。如何编写TestCase/TestSuite以便每个文件显示为单独的测试,例如在Eclipse的图形化TestRunner中?(不能为每个文件编写明确的测试方法。)比较问题ParameterizedTestwithanameinEclipseTestrunner. 最佳答案 看看JUnit4中的Para