## 一、概念
单元测试是编写测试代码,针对单个java方法的测试。
## 二、单元测试的优点
* main方法进行测试的缺点:
* 只能有一个main()方法, 不能把测试代码分离出来,想对不同方法测试时都需要去修改main方法再执行
* 无法打印出测试结果和期望结果.例如: expected: 3628800, but actual: 123456
* 单元测试的优点:
* 测试代码和实际方法代码分离
* 测试代码本身就可以作为方法调用的示例代码
* 可以自动化运行所有测试并获得报告
## 三、测试框架
* JUnit:Java项目一般使用Junit作为单元测试框架,Junit的版本有3.x, 4.x, 5.x,JUnit5的运行条件是Java 8环境,允许在断言中使用Lambda表达式。
* Mockito:Mock测试框架,JAVA的Mock测试框架还有EasyMock、JMock。
* spring-boot-starter-test:Spring Boot单元测试框架,包括了JUnit和Mockito。
**Java项目的单元测试一般都是使用JUnit+Mockito**