当前位置: 首页 > 知识库问答 >
问题:

如何为下面的代码创建Junit测试

司徒翼
2023-03-14

我能得到第二个和第三个条件的承保范围,但不能得到最后一个和第一个条件的承保范围。

@Override public boolean equals(Object obj)
    {
        if(this == obj) {
            return true;
        }
        if(obj == null)
        {
            return false;
        }
        if(getClass() != obj.getClass()) {
            return false;
        }
        Rating other = (Rating) obj;
        boolean bool= score == other.score ;
        boolean bool2=Objects.equals(user, other.user);
        return bool&&bool2;
        
    }

下面这个是我的测试函数

    public void equalsTest_lastcondition() {
        Rating test=new Rating();
        
        Object obj2=testwa2;
        Rating other = (Rating) obj2;
        boolean bool=false;
        if(other.getScore()==testwa1.getScore())
        { bool=true;}
        boolean bool2 =Objects.equals(test.getUser(), other.getUser());
        assertEquals(true, bool && bool2);
    }   

共有2个答案

程智明
2023-03-14
@Test
void equalsTest() {
   String score = 1;
   String user = "user";
   Rating rating = new Rating(score, user);
   assertTrue(rating.equals(rating)); // 1. if statement
   assertFalse(rating.equals(null)); // 2. if statement
   assertFalse(rating.equals(score)); // 3. if statement
   assertTrue(rating.equals(new Rating(score, user))); // other statements
}

更新:

String score = 1;
String user = "user";
Rating rating = new Rating(score, user);

@Test
void equalsShouldReturnTrueWhenComparingTheSameInstance() {
   assertTrue(rating.equals(rating)); // 1. if statement
} 

@Test
void equalsShouldReturnFalseWhenComparingTheNullValue() {
   assertFalse(rating.equals(null)); // 2. if statement
} 

@Test
void equalsShouldReturnFalseWhenComparingTheWrongType() {
   assertFalse(rating.equals(score)); // 3. if statement
} 

@Test
void equalsShouldReturnTrueWhenComparingNewInstanceWithSameValues() {
   assertTrue(rating.equals(new Rating(score, user))); // other statements
} 
鲜于温书
2023-03-14

这==obj是简单的test.equals(test)

getClass()!=obj.getClass()test.equals(“”)

PS:您可以在那里使用任何对象而不是string

 类似资料:
  • 问题内容: 如何为Phone对象模拟对象。 波纹管 谢谢 问题答案: 首先,我要做一些假设。 与无副作用的影响。该是对你并不重要。 这样,您的课程就变成了: 因此,您的测试有两个条件。要么是“测试”,然后返回“完成”,要么不是,然后返回“失败”。 那么如何设置设置为“ ”。可以肯定的是,我们需要能够从测试中设置“名称”。为此,我们需要“注入”它(我们可以通过其他多种方式来实现它,但是我喜欢注入)。

  • 你好,我是java的新手,我对如何编写JUnit测试感到困惑,有人能帮忙吗? 任务说明: 当您将自动取款机(ATM)与银行卡一起使用时,您需要使用个人识别码(PIN)来访问您的帐户。如果用户在输入PIN码时失败三次以上,机器将阻止该卡。 假设用户的PIN是“1234”,编写一个程序,向用户索要PIN不超过三次,并执行以下操作: 如果用户输入了正确的号码,请打印一条消息,说明“您的PIN是正确的”,

  • 您好,我是java新手,我对如何编写JUnit测试感到困惑,有人能帮我吗? 任务说明: 当您将自动取款机(ATM)与银行卡一起使用时,您需要使用个人识别码(PIN)来访问您的帐户。如果用户在输入PIN码时失败三次以上,机器将阻止该卡。 假设用户的PIN为“1234”,编写一个程序,要求用户输入PIN不超过三次,并执行以下操作: 如果用户输入了正确的号码,请打印一条消息,说明“您的PIN是正确的”,

  • 我不知道如何为这个程序编写JUnit测试。请帮忙。问题是 假设用户的个人识别码是“1234”,编写一个程序,向用户索要个人识别码不超过三次,并执行以下操作:如果用户输入正确的号码,打印一条消息说“您的个人识别码是正确的”,并结束程序... 如果用户输入了错误的号码,请打印一条消息,说明“您的PIN不正确”,如果您请求PIN的次数少于三次,请再次请求。如果用户三次输入错误的号码,请打印一条消息,说明