PropertyConfigurator.configure上的JUnit测试

时间:2014-07-14 12:11:43

标签: java testing junit log4j

我一直在训练JUNIT测试。我想测试配置文件配置是否正确?我写了一个测试,它应该抛出一个FileNotFoundException。但是当我运行测试但它抛出异常时,它会通过测试。我想设计的是,如果PropertiesConfiguration.configure方法抛出异常,它应该失败测试。我的代码如下:

import static org.junit.Assert.assertTrue;

import java.io.File;
import java.io.FileNotFoundException;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;


public class isPropertiesOfLog4jExistAndConfiguredCorrectly {
    Logger log = null;
    File f=null;
    @Before
    public void setUp() throws Exception {
        log=Logger.getLogger(GuestBookExample.class.getName());
        f=new File("/web-inf/classes/log4j.properties");

    }

    @After
    public void tearDown() throws Exception {
    }

    @Test
    public void test() {

        assertTrue("Configuration file is exist.",f!=null);
    }
    @Test
    public void test2(){
        PropertyConfigurator.configure("/....web-inf/classes/log4j.properties");

    }

}

1 个答案:

答案 0 :(得分:0)

PropertyConfigurator配置您的log4j。您无法修改此类的行为(例如,它如何处理失败)。因此,您只能检查配置是否正确完成。尝试验证记录器的某些属性:

@Test
public void test2(){
  PropertyConfigurator.configure("/....web-inf/classes/log4j.properties");
  Logger log = Logger.getLogger(GuestBookExample.class.getName());
  assertEquals(Level.WARN, log.getLevel());
}