发表于: 2017-10-14 01:06:59
2 697
今天完成的事
【junit单元测试】
Idea创建任务方法体的方式是
annotation的作用是
@BeforeClass:这个注解表示这个方法会在所有测试方法执行之前执行,因为是static修饰的静态方法,所有只会执行一次。通常用来进行一些资源的加载,如通过JUnit测试Spring相关的东西时,可以在这个方法中加载Spring的配置文件。
@AfterClass:这个注解表示这个方法会在所有方法执行完毕之后执行,通常用来释放资源。
@Before:这个注解表示这个方法会在每个测试方法执行之前执行一次有多少个测试方法就会执行多少次。
@After:这个注解表示这个方法会在每个测试方法执行之后执行一次有多少个测试方法就会执行多少次。
@Ignore 一个含有 @Ignore 注释的测试方法将不会被执行。如果一个测试类有 @Ignore 注释,则它的测试方 法将不会执行。
Junit常用的声明方法API——Assert 类
1 void assertEquals(boolean expected, boolean actual)
检查两个变量或者等式是否平衡
2 void assertFalse(boolean condition)
检查条件是假的
3 void assertNotNull(Object object)
检查对象不是空的
4 void assertNull(Object object)
检查对象是空的
5 void assertTrue(boolean condition)
检查条件为真
6 void fail()
在没有报告的情况下使测试不通过
【log4j日志的学习】
1,设置log4j.properties文件
### 设置###
log4j.rootLogger = info,stdout,D,E
### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
理解了一下,以上的文件分别控制了输出的位置,和输出的级别。
【进行了肤浅的spring单元测试】
是的,很肤浅,不是完整的单元测试。
不是完整的测试,我只是先编写了一下IoC文件的部分。。。代码如下。
格式
package demo2;
public class Student {
private StudentFather customerDao;
public void save() {
System.out.println("我是学生。");
customerDao.save();
}
public void setCustomerDao(StudentFather customerDao) {
this.customerDao = customerDao;
}
}
package demo2;
public class StudentFather {
public void save(){
System.out.println("我是学生的父类方法。");
}
}
package demo2;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Demo2 {
@Test
public void run(){
Student cd=new Student();
cd.save();
}
@Test
public void run2(){
ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
Student cs=(Student) ac.getBean("customerService");
cs.save();
}
}
applicationContext.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<!--使用bean标签 -->
<bean id="userService" class="DAO.UserServiceImpl">
<property name="name" value="小张"/>
</bean>
<bean id="customerDaoImpl" class="demo2.StudentFather"/>
<bean id="customerService" class="demo2.Student">
<property name="customerDao" ref="customerDaoImpl"/>
</bean>
<!--注入集合-->
收获
sping方面
对依赖注入加深了一点
junit方面
大概理解了测试的方法和用途
log4j方面
虽然以前也在用日志,但从来没仔细的观察过该怎么用,学习了!
对依赖注入的理解又加深了一点
遇到的问题
log4j输出格式不能控制。
而且
private static Logger log=Logger.getLogger(Test1.class);
会报错。
解决方法,经师兄指点,用的包不对,用了JAVA本身的工具类。。。。。没用到apache的包。
争取这种低龄的错误少范
明天的计划
把单元测试编写完整,然后就是开始往下做任务啦~
评论