警惕 assertEquals 和 assertNotEquals,谨慎使用 assertNotEquals

在使用  org.testng.Assert  中的

 

     assertEquals(long actual, long expected)   和  assertNotEquals(**,**) 的时候 注意 比较两端数据类型,

        

       在 Assert 类中提供的 

            assertEquals  支持:boolean double float  int long  Map  Object  byte[]  byte char  Coolection等        具体见API

         assertNotEquals  只支持 : float double Object 这三种类型 ,

         使用中 如果是不支持的数据类型   就会调用  Object  这种类型! 

            

                        例如:

 

    long long1 = 10L;

    long long2 = 10L;

// 以下 代码 全部通过,不会产生 assert 退出;

    Assert.assertEquals(long1, long2); //Assert.assertEqualslong,long)

    Assert.assertEquals(long1, 10); //Assert.assertEquals(long,long)

    Assert.assertNotEquals(long1, 10);//Assert.assertNotEquals(Object,Object)

    Assert.assertNotEquals(long2, 10); //Assert.assertNotEquals(Object,Object)

    

    Assert.assertNotEquals(long2, 9);//Assert.assertNotEquals(Object,Object)

 

你可能感兴趣的:(java,assert,TestNG)