JUnit基础用法
来源:互联网 发布:指纹识别算法 排名 编辑:程序博客网 时间:2024/06/05 17:09
最近同时在了解Kotlin,不管是否会使用到,抱着了解终究是多一个选择的心态先学习下。因此本文测试JUnit的测试类均使用Kotlin编写。
1 常见测试示例
1.1 单个类测试
可通过Test注解来注解需要测试的方法;当执行时JUnit将会将所有被Test所注解的方法均进行测试;
class KtlTestTest { @Test fun test1() { assertEquals(1, 2) } @Test fun test2() { assertEquals(1, 1); }}
1.2 通过Suite进行多个类测试
Suite为测试套件,也即可以一次性执行多点个需要测试的类;
可以在入口类中通过@RunWith指定Suite为Runner,然后再通过SuiteClasses指定该Suite中需要测试的类;
示例如下:
@RunWith(Suite::class)@SuiteClasses(value = *arrayOf(KtlTestTest::class, TestTest::class))class KtlTestSuite
直接执行即可看到结果。
2 常用JUnit类
2.1 Test注解
用于对方法进行注解,说明该方法在测试时需要被执行;
Test注解主要包含有expected属性,可指定所希望抛出的异常类型;也即如果抛出了指定的异常,则该测试被认为成功,否则为失败。示例如下:
class KtlTestTest { @Test fun test1() { assertEquals(1, 2) } @Test(expected = Exception::class) fun test2() { assertEquals(1, 1) throw Exception("test") }}
2.2 Suite
测试套件,包含有一系列的需要测试的类;通过RunWith指定Suite进行测试时需要使用SuiiteClasses指定需要测试的类;
2.3 Assert
包含常用断言方法: assertTrue/assertFalse/fail/assertEquals/assertNotEquals/assertArrayEquals/assertNotNull/assertNull/failNotNull/assertSame/assertNotSame/failSame/failNotSame/assertThat
其中以较难理解的assertThat为例,讲解其具体用法。
2.3.1 assertThat
assertThat一般用于根据传入的值判断其是否满足一定规则;
如下列,判断是否是Email:
@Test fun testAssertThat() { assertThat<String?>("test@gmail.com", object: Matcher<String?>{ override fun describeMismatch(item: Any?, mismatchDescription: Description?) { } override fun matches(item: Any?): Boolean { val patternStr = """^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$""" if (null == item) { return false; } return Regex(patternStr).matches(item.toString()) } override fun _dont_implement_Matcher___instead_extend_BaseMatcher_() { } override fun describeTo(description: Description?) { } }) }
assertThat一般与CoreMatchers一同使用。
CoreMatchers中提供的方法分成两类:一是以非Matcher对象做参数的,一种是以Matcher做参数的;后者为一些针对多个Matcher的一些逻辑组合,如同时满足多个Matcher或者满足多个Matcher中的一个等;
非Matcher做参数的方法清单如下:
Matcher做参数的方法清单如下:
上面提到的CombinableMatcher,主要提供and/or/either/both等方法来进行联合判断。
- Junit基础用法
- JUnit基础用法
- JUnit 用法
- junit用法
- Junit 基础
- JUnit基础
- JUnit基础
- Junit基础
- junit基础
- junit基础
- JUNIT的用法
- 【JUnit】EasyMock用法总结
- Junit单元测试用法
- JUNIT的用法笔记
- Junit测试基本用法
- Junit中注解用法
- JUnit 单元测试基本用法
- JUnit基本用法
- LeetCode.178 Rank Scores
- Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets w
- 单点登录原理与基本实现
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- JavaScript HTML DOM
- JUnit基础用法
- 多周期和错误路径的基础知识---凯利讯半导体
- swift Alamofire 中的RequestAdapter与RequestRetrier
- [大数据入门-hadoop基础]eclipse远程调试虚拟机中的hadoop2.7.4
- jqgrid导出excel(符合查询结果的所有,非当前页)
- JDBC笔记(三)数据库连接池
- hibernate缓存机制详细分析
- 安卓异步任务
- csdn 请选择文章类型 解决方法