java - 是否有针对常见 Java 接口(interface)的预构建 JUnit 测试存储库?

标签 java unit-testing junit

这学期我正在教授数据结构类(class),我们会根据给定的组件接口(interface)构建大量 JUnit 测试。然后,我们使用 setUp 插入特定的具体实现。在大多数情况下,我们正在实现 java.util 接口(interface)。是否有针对常见 Java 组件的一套通用的严格 JUnit 测试,或者某种框架可以使设计测试用例变得不那么痛苦?

最佳答案

Hamcrest提供了几个特定于 map 和集合的匹配器。
您可以在 tutorial 中找到它们.

(JUnit 4.x 包含 Hamcrest)

示例代码:

import static org.junit.Assert.*;
import static org.junit.matchers.JUnitMatchers.*;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;

public class DummyTest{

    @Test
    public void someTest(){

        final Collection<Integer> coll = Arrays.asList(1, 2, 3, 4, 5);
        assertThat(coll, hasItems(5, 4, 3, 2, 1));
        assertThat(coll, not(hasItems(6)));
        assertThat(coll,
            both(
                is(List.class)
            ).and(
                equalTo(
                    Arrays.asList(
                        0x1,0x2,0x3,0x4,0x5
                    )
            )
        ));

    }



}

您的主要起点是这些便利类:

关于java - 是否有针对常见 Java 接口(interface)的预构建 JUnit 测试存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3915408/

相关文章:

java - 为什么函数会在循环中被多次调用?

java - Android Constraint Layout - 将一个ImageView移动到另一个ImageView

java - Android 2.3 中的操作栏

python - 增加在 Python 中进行单元测试的类的日志记录详细程度

android - 使用 Robolectric 模拟单击​​菜单项时出错

java - 随机(?)ElementNotVisibleException

java - Tomcat 7 + MyFaces 2.1 : java. security.NoSuchAlgorithmException

c# - 具有从工厂方法创建的私有(private)构造函数的单元测试类

java - 是否可以在 Eclipse 中从多个包运行 JUnit 测试?

junit - 将夜间构建作为 XP 计划任务运行 - 类路径问题