java - 单元测试 : toString method. 可能的覆盖?

标签 java

我的教授给了我们这个家庭作业,并创建了一个包含大量单元测试的项目。我们的目标是确保我们能够通过这些单元测试。我们有两个类。一个名为 Building 的类,具有名称、最小楼层和最大楼层,以及一个名为 Room 的类,具有建筑物、名称和楼层。我不明白其中一个测试用例以及如何确保我的程序通过它。

我已经创建了类(class)建筑和房间及其 getter 和 setter。

这是我们教授给出的测试


    @Test
    public void testToString() throws Exception {
        Building b = new Building("B", -1, 4);
        Room b104 = new Room(b, "104", 1);
        assertEquals("Building(B)", b + "");
        assertEquals("Room(B,104)", b104 + "");
}

这就是 junit 所说的:

org.junit.ComparisonFailure: 
Expected :Building(B)
Actual   :Building@4e718207

org.junit.ComparisonFailure: 
Expected :Room(B,104)
Actual   :Room@4e718207

最佳答案

在您的类 BuildingRoom 中,您必须重写 toString()。在这种方法中,您必须根据教授给您的测试构建一个字符串,然后返回它。

关于java - 单元测试 : toString method. 可能的覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55312482/

相关文章:

java - Jackson 反序列化为子元素列表

java - 在 Hibernate 5.2 中正确替代 SharedSessionContract.createCriteria(Class persistentClass)

java - 我想对新实例进行分类,但我不想加载数据集来对其进行分类,我该怎么做?

Java HashMap : How to modify the output of the matrix?

Java 将集合拆分为通用基类型的相同大小的较小部分

java - 在 Apache Tomcat 上部署 GWT 应用程序

java - IF EXISTS 语句的语法 SQL 错误

java - Mysql:获取字符串?

java - Android 创建多选列表

java - 在 EMF 中使用 eStorage