Skyrious 2021-05-31 20:20 采纳率: 0%
浏览 125

assertEquals(String,String)能否比较成功没有问题?

我知道String在比较的时候最好使用方法,StringA.equals(StringB);
所以想问一下Junit是不是也不能直接assertEquals(StringA,StringB),而必须采用assertEquals(true,StringB.equals(StringA));的方法?

  • 写回答

1条回答 默认 最新

  • 小P聊技术 2021-06-01 10:08
    关注

    assertEquals 和 assertTrue 区别

    相同之处:都能判断两个值是否相等 
    assertTrue 如果为true,则运行success,反之Failure 
    assertEquals 如果预期值与真实值相等,则运行success,反之Failure

    不同之处: 
    assertEquals 运行Failure会有错误提示,提示预期值是xxx,而实际值是xxx。容易调式 
    assertTrue 没有错误提示

    代码块

    App.java

    package com.yubai.Test;
     
    public class App 
    {
        public String method(){
            return this.getClass().getName();
        }
    }

    AppTest.java

    
    package com.yubai.Test;
     
    import static org.junit.Assert.*;//必须是static
    import org.junit.Test;
     
    public class AppTest {
        App app = new App();
     
        @Test
        public void testBaseClass(){
         assertTrue(app.method().equals("com.yubai.Test.App"));
        }
     
        @Test
        public void testmethod(){
            assertEquals("com.yubai.Test.App", app.method());
        }
    }
    
     

    运行成功结果

    这里写图片描述

    assertEquals 运行失败后的错误提示

    这里写图片描述

    org.junit.ComparisonFailure: expected:<…ven.TestMaven_test.A[]> but was:<…ven.TestMaven_test.A[pp]>

    assertTrue 运行失败后的错误提示

    这里写图片描述

    总结

    两种方法都可以判断,一般建议使用assertEquals 容易调试

    评论

报告相同问题?

悬赏问题

  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥100 单片机hardfaulr
  • ¥20 手机截图相片分辨率降低一半
  • ¥50 求一段sql语句,遇到小难题了,可以50米解决
  • ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费
  • ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)
  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置