单元测试和日志技术
1.Junit使用的基本流程
<1>將junit的jar包導入到工程中
<2>編寫測試方法該測試方法必須是公共的無參數無返回值的非靜態方法在測試方法上使用@Test注解標注該方法是一個測試方法
<3>選中測試方法右鍵通過junit運行該方法
Junit點擊下載
2.Junit常用的三個注解
測試注解【沒有參數和返回值,要想測試返回值,則用該方法調用返回值方法即可】
@Before【Before運行在Test之前】
@Test【有兩個則會執行兩遍】
@After【After運行在Test之后】
3.Assert.assertEquals[斷言、斷點方法]
public class Demo1 {@Test//測試注解[沒有參數和返回值] 有兩個則會執行兩遍public void sum() {System.out.println("Test執行");int sum = 10 + 20;//斷言:測試結果和預期值是否一致Assert.assertEquals(sum,40);}@Before//測試注解[沒有參數和返回值]public void before() {System.out.println("Before運行在Test之前");}@After//測試注解[沒有參數和返回值]public void after() {System.out.println("After運行在Test之后");} }運行結果: ----------------------------------------------------- Before運行在Test之前 Test執行 After運行在Test之后java.lang.AssertionError: Expected :30 Actual :404.Log4j設置日志
設置代碼
public class Demo1 {//使用log4j的api來獲取日志的對象//弊端:如果以后我們更換日志的實現類,那么下面的代碼就需要跟著改//不推薦使用//private static final org.apache.log4j.Logger LOGGER = org.apache.log4j.Logger.getLogger(Demo1.class);//使用slf4j里面的api來獲取日志的對象//好處:如果以后我們更換日志的實現類,那么下面的代碼不需要跟著修改//推薦使用public static final Logger LOGGER = LoggerFactory.getLogger(Demo1.class);public static void main(String[] args) {//1.導入jar包//2.編寫配置文件//3.在代碼中獲取日志的對象//Logger logger = LoggerFactory.getLogger(Demo1.class);// 4.按照日志級別設置日志信息/* LOGGER.debug("Debug級別的日志");LOGGER.info("info級別的日志");LOGGER.warn("warn級別的日志");LOGGER.error("error級別的日志");*/Scanner sc = new Scanner(System.in);System.out.println("輸入一個整數");String number = sc.nextLine();//類型轉換try {int result = Integer.parseInt(number);LOGGER.info("類型轉換成功"+ result);}catch (NumberFormatException e){LOGGER.info("類型轉換失敗,請錄入一個整數");}} }//配置文件 log4j.rootLogger=INFO,my,fileAppender #日志級別:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者自定義的級別。 從左往右依次降低,默認是info 不會輸出debug 和 all### direct log messages to my ### # 往控制臺輸出 log4j.appender.my=org.apache.log4j.ConsoleAppender # 立即刷新 log4j.appender.my.ImmediateFlush = true # 打印流 log4j.appender.my.Target=System.err # 日志輸出模式可以靈活指定 log4j.appender.my.layout=org.apache.log4j.PatternLayout # 日志輸出模式細節 log4j.appender.my.layout.ConversionPattern=%d %t %5p %c{1}:%L - %m%n# 往文件輸出 log4j.appender.fileAppender=org.apache.log4j.FileAppender # 立即刷新 log4j.appender.fileAppender.ImmediateFlush = true # 消息追加到文件中,不被覆蓋 log4j.appender.fileAppender.Append=true # 消息輸出到指定文件中 log4j.appender.fileAppender.File=D:/log4j-log/log4j-log.log # 日志輸出模式可以靈活指定 log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout # 日志輸出模式細節 log4j.appender.fileAppender.layout.ConversionPattern=%d %5p %c{1}:%L - %m%n打印結果: ------------------------------------------------------ 輸入一個整數 20.5 2021-07-17 14:49:28,605 main INFO Demo1:35 - 類型轉換失敗,請錄入一個整數配置文件圖解:
Log4J點擊下載
總結
- 上一篇: 反射和配置文件的实际应用
- 下一篇: GIt代码管理仓库