map 的 Java 测试

标签 java

我创建了一个 List<Map<String, String>>获取源文件。我已经成功创建了一个 map ,其中 header 值作为键, header 值下面的信息作为值。我已经测试并验证了该方法中的所有内容都有效。

在我的下一个方法中,我实现了一个迭代器,它将获取下一个映射以在不同的类中进行处理。我正在尝试进行测试,以确保它正在做我认为它正在做的事情,并验证我想要它做的事情。

该方法的代码如下:

  public Map contact(List<Map<String, String>> list) {
return list.iterator().next(); 
}

这是我在测试类中的测试代码:

  @Test
public void contact() throws Exception {

List<Map<String, String>> list = this.main.sourceToMap(source1.readLine());
Map nextContact = this.main.contact(list);

System.out.println(list.get(0));

Assert.assertEquals(nextContact,
    "zip=70116, address=6649 N Blue Gum St, city=New Orleans, " +
        "web=http://www.bentonjohnbjr.com, company_name=\"Benton, John B Jr\", " +
        "county=Orleans, phone2=504-845-1427, last_name=Butt, state=LA, first_name=James, " +
        "email=jbutt@gmail.com, phone1=504-621-8927");
}

最后,这是我遇到的错误:

java.lang.AssertionError: Expected :{zip=70116, address=6649 N Blue Gum St,city=New Orleans, web=http://www.bentonjohnbjr.com, company_name="Benton, John B Jr", county=Orleans, phone2=504-845-1427, last_name=Butt, state=LA, first_name=James, email=jbutt@gmail.com, phone1=504-621-8927}

Actual :zip=70116, address=6649 N Blue Gum St, city=New Orleans, web=http://www.bentonjohnbjr.com, company_name="Benton, John B Jr", county=Orleans, phone2=504-845-1427, last_name=Butt, state=LA, first_name=James, email=jbutt@gmail.com, phone1=504-621-8927

预期和实际一模一样,只有一点点的差别。字符串前面和后面都有一个“{ }”。

我认为这是因为它需要一个映射而不是字符串,但我不知道要输入什么来使其成为映射而不是字符串。

这是一项作业,但不是作业本身。这只是我在继续之前试图证明的一个小测试。

谢谢! :D

最佳答案

您的断言正在将 MapString 进行比较。这当然失败了,因为两者甚至不是同一类型。在错误消息中,您会看到 nextContact 对象的文本表示。这似乎是通过调用 MaptoString() 方法创建的,该方法生成内容周围带有 {} 的结果。

要解决此问题,您应该比较 map 中的实际值,例如

Assert.assertEquals(nextContact.get("zip"), "70116");

关于 map 的 Java 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43111432/

相关文章:

java - 如何在 Eclipse RCP 3.x 中提供依赖注入(inject)?

java - JDBC : display retrive data into table structure

java - Boolean.hashCode()

java - Alfresco 使用 sha 存储的密码通过 LDAP 进行身份验证

java - 使用 Jackson 将字符串转换为对象

java - 没有覆盖的子类(别名类)

java - 修改 JAR 文件而不重建 JAR

java - Jersey POST 端点在 Websphere 7 上失败

java - Spring - java.lang.IllegalArgumentException

java - 如何取消主控件的静音?