发表于: 2017-09-07 23:14:22
1 899
今天完成的事
认识Junit
JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
Junit实例
步骤1 添加jar包
步骤2 创建一个加减乘除的类,取名Dog.java
package cn.edu.junit;
public class Dog {
//加
public int add(int a,int b){
return 0;
}
//减
public int subtract(int a,int b){
return a-b;
}
//乘
public int multiply(int a,int b){
return a*b;
}
//除
public int divide(int a,int b){
return a/b}}
步骤3 添加一个插件JunitGenerator
通过快捷键Ctrl+shift+T自动创建一个测试类DogTest
步骤4 Run DogTest.java
这个测试类没问题,我们试着搞点问题出来测试一下Junit
步骤5 修改Test类中的add方法
public void add() throws Exception {
Dog dog = new Dog();
int result = dog.add(1,3);
assertEquals(4,result);
}
步骤6 修改Dog类的add方法,再次运行测试
public int add(int a,int b){
return 0;
}
步骤7 再次运行测试类
java.lang.AssertionError:
Expected :4
Actual :0
程序报错,原因是实际值和预期值不符合
认识spring
1.spring是开源的轻量级框架。什么是开源呢,开源即免费的,放出源代码的意思。轻量级意味着该框架不用过多依赖很多其他东西,可以直接使用,这就叫轻量级框架。spring还是一个一站式框架
2.spring有很多特征,其中最需要注意的两个核心部分主要是面向切面(aop)和控制反转(ioc)。
什么叫aop呢?面向切面编程,扩展功能不依靠修改源代码
什么叫ioc呢?控制反转,打个比方,有一个类,类里面有非静态的方法,调用类里面的对象,创建类的对象,使用对象调用方法,创建类对象的过程,需要new一个对象,而ioc把类对象的创建交给了spring来配置,不是通过new方式实现。
3.spring是一个一站式框架
什么叫做一站式框架呢?
spring给javaee三层结构中的每一层都提供了不同的解决技术
web层:springMVC
service层:spring的ioc
dao层:spring的jdbctemplate
Spring的ioc操作
1.把对象的创建交给spring进行管理
2.ioc操作两部分
(1)ioc的配置文件方式
(2)ioc的注解方式
ioc底层原理
1.ioc的底层远离实用技术
(1)xml配置文件
(2)dom4j解决xml
(3)工厂设计模式
(4)反射
思想:高内聚低耦合
明天计划的事
继续学习Spring,理解Ioc和AOP,有时间可以找几个实例写写看
遇到的问题
JUnit-4.12使用报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误
报错原因是因为JUnit-4.11版本后没有了hamcrest的包,需要添加
收获
初步了解了Spring的概念和Junit的使用方法,巩固MyBatis的知识
评论