首页 > 解决方案 > Hamcrest 库中的 Matcher 问题

问题描述

我正在学习 Java 学习课程,并且该人使用contains()Hamcrest 库中的方法。这是代码的样子

import org.junit.Test;

public class ShipmentTest
{
    private Shipment shipment = new Shipment();

    @Test
    public void shouldAddItems() throws Exception
    {
        shipment.add(door);
        shipment.add(window);

        assertThat(shipment, contains(door, window));
    }

    @Test
    public void shouldReplaceItems() throws Exception
    {
        shipment.add(door);
        shipment.add(window);

        shipment.replace(door, floorPanel);

        assertThat(shipment, contains(floorPanel, window));
    }
}

我正在使用 Eclipse,它无法识别该contains()方法,因为它是 Hamcrest 库的一部分。Matchers但是,当我尝试实现它时,在 Hamcrest 库中找不到 Eclipse 。它找到Matcher,CoreMatchersMatcherAssert, 但不是Matchers, 应该有contains()方法。我已经下载了 hamcrest 1.3 版的 jar 文件,但即使我将它包含在构建路径中,它仍然找不到Matcher. 我应该做什么?

标签: javaeclipsejunitlibrarieshamcrest

解决方案


推荐阅读