草庐IT

hamcrest-junit

全部标签

java - JUnit + Maven : accessing ${project. build.directory} 值

在我的单元测试中,我想在${project.build.directory}中创建一个tmp目录。如何在单元测试中访问${project.build.directory}的值?我能想到的一种方法是在测试资源中提供一个过滤的属性文件,该文件包含该值。(我还没有尝试过,但我认为应该可以。)有没有直接的方法来访问/传递这个属性值? 最佳答案 我以前使用过类似的东西并取得了一些成功。即使不使用Maven,单元测试仍将运行,目标目录仍将创建两个相对于运行测试的cwd的目录。publicFiletargetDir(){StringrelPath

java - 断言可迭代的每个元素都匹配给定匹配器的惯用 Hamcrest 模式是什么?

检查以下代码段:assertThat(Arrays.asList("1x","2x","3x","4z"),not(hasItem(not(endsWith("x")))));这断言列表中没有不以“x”结尾的元素。当然,这是双重否定的说法,即列表的所有元素都以“x”结尾。另请注意,代码段会抛出:java.lang.AssertionError:Expected:notacollectioncontainingnotastringendingwith"x"got:这会列出整个列表,而不仅仅是不以“x”结尾的元素。那么有没有一种惯用的方式:断言每个元素都以“x”结尾(没有双重否定)在断言错

java - 断言可迭代的每个元素都匹配给定匹配器的惯用 Hamcrest 模式是什么?

检查以下代码段:assertThat(Arrays.asList("1x","2x","3x","4z"),not(hasItem(not(endsWith("x")))));这断言列表中没有不以“x”结尾的元素。当然,这是双重否定的说法,即列表的所有元素都以“x”结尾。另请注意,代码段会抛出:java.lang.AssertionError:Expected:notacollectioncontainingnotastringendingwith"x"got:这会列出整个列表,而不仅仅是不以“x”结尾的元素。那么有没有一种惯用的方式:断言每个元素都以“x”结尾(没有双重否定)在断言错

java - 使用 JUnit 比较 ArrayList 是否相等的简单方法?

使用JUnit比较ArrayList是否相等的简单方法是什么?我需要实现相等接口(interface)吗?或者有没有简单的JUnit方法让它变得更简单? 最佳答案 你不需要为列表相等做任何特别的事情,只需使用assertEquals。ArrayList和其他列表通过使用对象的equals()方法检查列表对应位置的所有对象是否相等来实现equals()。因此,您可能需要检查列表中的对象是否正确实现。 关于java-使用JUnit比较ArrayList是否相等的简单方法?,我们在StackO

java - 使用 JUnit 比较 ArrayList 是否相等的简单方法?

使用JUnit比较ArrayList是否相等的简单方法是什么?我需要实现相等接口(interface)吗?或者有没有简单的JUnit方法让它变得更简单? 最佳答案 你不需要为列表相等做任何特别的事情,只需使用assertEquals。ArrayList和其他列表通过使用对象的equals()方法检查列表对应位置的所有对象是否相等来实现equals()。因此,您可能需要检查列表中的对象是否正确实现。 关于java-使用JUnit比较ArrayList是否相等的简单方法?,我们在StackO

java - JUnit 3 是否有类似于@BeforeClass 的东西?

这个问题在这里已经有了答案:Classteardowninjunit3?(2个回答)关闭6年前。我被迫将JUnit3用于特定的测试套件。我了解setUp()和tearDown()服务于@Before和@After的功能,但是有@BeforeClass和@AfterClass的类似物,表示应该在测试开始之前发生一次,并且在所有测试运行之后发生一次? 最佳答案 好的,我应该搜索得更好。Classteardowninjunit3?publicstaticTestsuite(){returnnewTestSetup(newTestSuite

java - JUnit 3 是否有类似于@BeforeClass 的东西?

这个问题在这里已经有了答案:Classteardowninjunit3?(2个回答)关闭6年前。我被迫将JUnit3用于特定的测试套件。我了解setUp()和tearDown()服务于@Before和@After的功能,但是有@BeforeClass和@AfterClass的类似物,表示应该在测试开始之前发生一次,并且在所有测试运行之后发生一次? 最佳答案 好的,我应该搜索得更好。Classteardowninjunit3?publicstaticTestsuite(){returnnewTestSetup(newTestSuite

java - 混合 Hamcrest 和 TestNG

是否有人将Hamcrest与TestNG集成,以便可以轻松地在TestNG断言中使用其匹配器? 最佳答案 简而言之,回答您的问题:您不需要将TestNG与Hamcrest集成。直接调用org.hamcrest.MatcherAssert.assertThat(...)会抛出java.lang.AssertionError.背景我通过Google找到了您的问题,想知道完全相同的问题。在进一步谷歌搜索后,我没有找到任何令人满意的答案,所以我阅读了JUnit与Hamcrest集成的源代码。对于JUnit,Hamcrest集成通常通过调用来

java - 混合 Hamcrest 和 TestNG

是否有人将Hamcrest与TestNG集成,以便可以轻松地在TestNG断言中使用其匹配器? 最佳答案 简而言之,回答您的问题:您不需要将TestNG与Hamcrest集成。直接调用org.hamcrest.MatcherAssert.assertThat(...)会抛出java.lang.AssertionError.背景我通过Google找到了您的问题,想知道完全相同的问题。在进一步谷歌搜索后,我没有找到任何令人满意的答案,所以我阅读了JUnit与Hamcrest集成的源代码。对于JUnit,Hamcrest集成通常通过调用来

Java单元测试框架 - JUnit

导航我们为什么需要单元测试框架?为工程添加JUnit支持编写JUnit单元测试案例JUnit常用注解JUnit常用断言JUnit案例Spring整合我们为什么需要单元测试框架?  当我们需要对一段代码进行测试时,怎么样让他快速跑起来呢?一个很自然的想法是编写一个main()方法,然后运行一些测试代码,我想各位大多都用过这种方法。  但是使用main()方法测试有很多缺点:一个类只能有一个main()方法,难以同时编写多个测试案例;没有详细的测试结果,如期望值、实际值等,若想实现,则需要自行开发的代码量过多;如果需要用到Spring容器等,则简单的main()方法实现起来也不再简单。  因此,我