zoukankan      html  css  js  c++  java
  • JUnit测试

    环境:idea

    通过maven管理jar包,导入:JUnit依赖(百度:mvn JUnit)

    首先,对测试的内容要有一个规范的管理和命令。

      0、新建一个源代码目录来存放我们的测试代码,即将测试代码和项目业务代码分开

      1、测试类所在的包名应该和被测试类所在的包名保持一致 、

      2、测试类使用Test作为类名的后缀

      3、测试方法使用test作为方法名的前缀

    对于测试的方法中,要求统一写为:public void不带返回参数的方法标签。重要注解:

      @Test:测试方法

        a、@Test(expected=XXException.class):如果程序的异常和XXException.class一样,则测试通过;否则报错

        b、@Test(timeout=100):如果程序的执行能在100毫秒之内完成,则测试通过;否则报错

      @Ignore: 忽略该测试方法,暂不运行此段代码

      @Before: 再每一个测试方法之前运行(如果有多个,则每个测试方法之前都会首先执行该方法)

      @After: 每一个测试方法之后运行,与@Before相反

      @BeforeClass: 方法必须要是静态方法(static 声明),在before之前执行,只会执行一次(如果有多个测试方法)。

      @AfterClass: 方法必须要是静态方法(static 声明),在after之后执行,只会执行一次(如果有多个测试方法)。

    JUnit提供了一些方法,帮助我们判断某个单元测试是否异常。我们把所有这些方法统称为断言(assert)。断言是单元测试最基本的组成部分。(下面都是常用的,具体语法可参考JUnitAPI文档)

      1、assertEquals([String message],expected,actual):比较两个基本类型或对象是否相等(expected和actual是原始类型数值(primitive value)或者必须为实现比较而具有equal方法,message是选项,如果不相等时会打印message内容。测试时有一点疑惑:Integer在这里不能通过java自动装包拆包隐性转为int型,还是通过指定int型才可。pin!)

      2、assertFalse([String message],boolean condition):断言为假,即condition条件为假时,返回success,反之failure

      3、assertTrue([String message],boolean condition):断言为真,即condition条件为真时,返回success,反之failure

      4、assertNull([String message],java.lang.Object object):检查是否为空;【对比:assertNotNull】

      5、assertSame([String message],expected,actual):检查两个对象是否为同一实例【对比:assertNotSame】

      6、fail( String message ):使测试立即失败,其中 message 参数使可选的。这种断言通常被用于标记某个不应该到达的分支(例如,在一个预期发生的异常之后)

    示例,如我们在编写接口时,需要Service层进行Test(Controller层一般不用,如果要用的话,使用Mockio)。

    代码如下:

     1 @RunWith(SpringRunner.class)
     2 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
     3 public class ValueMetaServiceTest {
     4 
     5     @Autowired
     6     private ValueMetaService valueMetaService;
     7 
     8     @Before
     9     public void before() {
    10         System.out.println("测试开始!");
    11     }
    12 
    13     @Test
    14     public void valueMetaControllerTest() {
    15         PageValueMeta pageValueMeta = new PageValueMeta();
    16         pageValueMeta.setId("jhhefsdf23423kdfs");
    17         valueMetaService.insert(pageValueMeta);
    18         System.out.println(pageValueMeta);
    19     }
    20 }
  • 相关阅读:
    篝火晚会
    SECHS
    emmc4.X boot1 and boot2
    imx6Q Android7.1 Udisk Mount
    imx6Q 4.1.15 Perf support
    imx6Q 4.1.15 Kgtp support
    imx6Q 4.1.15 early console support
    imx6Q USB OTG Host/Device纯软件切换
    iMX6Q DDR Stresstest
    iMX6Q PowerSave调试
  • 原文地址:https://www.cnblogs.com/SunHuaJ/p/9566861.html
Copyright © 2011-2022 走看看