• junit


    文档来源:https://www.yiibai.com/junit/junit-assertions.html

    JUnit

    JUnit是什么 ?

    JUnit是一个Java编程语言编写的单元测试框架。 重要的是在测试驱动开发中,并且是一个家族的统称为xUnit单元测试框架中的一个。

    JUnit4基本注释,下表列出了这些注释的概括:

    注解描述
    @Test
    public void method()
    测试注释指示该公共无效方法它所附着可以作为一个测试用例。
    @Before
    public void method()
    Before注释表示,该方法必须在类中的每个测试之前执行,以便执行测试某些必要的先决条件。
    @BeforeClass
    public static void method()
    BeforeClass注释指出这是附着在静态方法必须执行一次并在类的所有测试之前。发生这种情况时一般是测试计算共享配置方法(如连接到数据库)。
    @After
    public void method()
    After 注释指示,该方法在执行每项测试后执行(如执行每一个测试后重置某些变量,删除临时变量等)
    @AfterClass
    public static void method()
    当需要执行所有的测试在JUnit测试用例类后执行,AfterClass注解可以使用以清理建立方法,(从数据库如断开连接)。注意:附有此批注(类似于BeforeClass)的方法必须定义为静态。
    @Ignore
    public static void method()
    当想暂时禁用特定的测试执行可以使用忽略注释。每个被注解为@Ignore的方法将不被执行。

     Assert 类扩展了java.lang.Object类并为它们提供编写测试,以便检测故障。下表中有一种最常用的断言方法的更详细的解释。

    断言描述
    void assertEquals([String message], expected value, actual value) 断言两个值相等。值可能是类型有 int, short, long, byte, char or java.lang.Object. 第一个参数是一个可选的字符串消息
    void assertTrue([String message], boolean condition) 断言一个条件为真
    void assertFalse([String message],boolean condition) 断言一个条件为假
    void assertNotNull([String message], java.lang.Object object) 断言一个对象不为空(null)
    void assertNull([String message], java.lang.Object object) 断言一个对象为空(null)
    void assertSame([String message], java.lang.Object expected, java.lang.Object actual) 断言,两个对象引用相同的对象
    void assertNotSame([String message], java.lang.Object unexpected, java.lang.Object actual) 断言,两个对象不是引用同一个对象
    void assertArrayEquals([String message], expectedArray, resultArray) 断言预期数组和结果数组相等。数组的类型可能是 int, long, short, char, byte or java.lang.Object.

    测试套件是一些测试不同类用例,可以使用@RunWith和@Suite注解运行所有东西在一起。如果有很多测试类,想让它们都运行在同一时间,而不是单一地运行每个测试,这是非常有用的。

    当一个类被注解为@RunWith, JUnit 将调用被在其中注解,以便运行测试类,而不使用内置的 JUnit 运行方法。

    个测试类也可以被看作是一个参数化测试类?当然,但它要满足下列所有要求:

      • 该类被注解为 @RunWith(Parameterized.class).
        如前一节中所说明的, @RunWith 注解让JUnit来调用其中的注释来运行测试类,代替使用内置的JUnit运行器,Parameterized 是一个在JUnit内的运行器将运行相同的测试用例组在不同的输入。
      • 这个类有一个构造函数,存储测试数据。
      • 这个类有一个静态方法生成并返回测试数据,并注明@Parameters注解。
      • 这个类有一个测试,它需要注解@Test到方法。

    @Rule注解被使用来标出测试类的公共字段。这些字段类型为MethodRule,这是测试方法如何运行并报告。多个MethodRules可以应用到一个测试方法。MethodRule接口有很多的实现,如ErrorCollector在发现了第一个问题之后,也允许继续执行一个测试,ExpectedException 允许在测试规范预期的异常类型和消息,TestName 使得目前的测试名称在测试方法内部可用,以及其他许多。除了那些已经定义的规则,开发人员可以创建自己的自定义规则,并使用来测试自己用例。

    “时间测试”是指,一个单元测试运行时间是否超过指定的毫秒数,测试将终止并标记为失败。@Test(timeout = 1000) 

  • 相关阅读:
    Android开发--去掉标题栏
    Android开发app如何设定应用图标下的应用名称为汉字以及自定义图标
    mysql的sql其他 SQL中inner join、outer join和cross join的区别
    中文乱码问题 -js页面传值乱码
    liunx Centos Xshell 简单命令汇总
    html 属性及相关应用-实例
    时间格式转换
    三元表达式
    Grid++Report生成简单的条形码、Excel导出、图表控件 等
    jmp指令的简单应用
  • 原文地址:https://www.cnblogs.com/ooo0/p/8900726.html
Copyright © 2020-2023  润新知