2013-06-29 5 views
0

я имею исходную папку для тестирования селена: SRC/селен/Java и я иметь единичный тестовый класс под ним, и реализацией выглядит следующим образом:Log4j не работает в тестовых классах

package com.myapp.selenium; 

import org.junit.AfterClass; 
import org.junit.BeforeClass; 
import org.junit.Test; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 


public class HomeTest { 

    static WebDriver driver; 
    protected static final Logger logger = LoggerFactory.getLogger(HomeTest.class); 

    @BeforeClass 
    public static void before() { 
     if(logger.isInfoEnabled()) 
      logger.info("Running Selenium Test for class"+HomeTest.class.getSimpleName()); 
     driver = new FirefoxDriver(); 
    } 

    @AfterClass 
    public static void after() { 
     driver.close(); 
    } 

    @Test 
    public void addingOneUser() throws InterruptedException { 
     if(logger.isInfoEnabled()) 
      logger.info("addingOneUser"); 
     driver.get("http://localhost:8080/MyApp/index.xhtml"); 
    } 

} 

log4j.properties:

log4j.rootLogger=INFO, R, stdout 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 

# Print the date in ISO 8601 format 
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F%L) - %m%n 

log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=application.log 

log4j.appender.R.MaxFileSize=100KB 
# Keep one backup file 
log4j.appender.R.MaxBackupIndex=1 

log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n 

log4j.logger.com.myapp=DEBUG 
log4j.logger.org.hibernate=debug 

и log4j банки:

'org.slf4j:slf4j-api:1.7.2' 
'org.slf4j:jcl-over-slf4j:1.7.2' 
'org.slf4j:slf4j-log4j12:1.7.2' 

UPDATE:

мой gradle.build:

apply plugin: 'java' 
apply plugin: 'eclipse-wtp' 
apply plugin: 'war' 
apply plugin: 'findbugs' 
//apply from:'http://github.com/breskeby/gradleplugins/raw/master/emmaPlugin/emma.gradle' 
apply from: 'emma.gradle' 
buildDir = 'build' 

sourceCompatibility = 1.7 
version = '' 

buildscript { 
    repositories { 
     mavenCentral() 
    } 

    dependencies { 
     classpath 'org.gradle.api.plugins:gradle-cargo-plugin:0.6' 
    } 
} 

repositories { 
    mavenCentral() 
    mavenRepo url: 'http://repository.primefaces.org' 
    mavenRepo url: 'http://repository.jboss.org/nexus/content/groups/public' 
    mavenRepo url: 'http://repository.jboss.org/maven2' 
    mavenRepo url: 'http://maven.springframework.org/release' 
    mavenRepo url: 'http://repo1.maven.org/maven2' 
    mavenRepo url: 'http://git.solutionstream.com/nexus/content/repositories/thirdparty' 
} 


configurations { 
    compileOnly 
    weldEmbeddedTestRuntime { extendsFrom testRuntime } 
    jbossasRemoteTestRuntime { extendsFrom testRuntime, compileOnly } 
} 

sourceSets { 

    main { 
     compileClasspath = configurations.compile + configurations.compileOnly 
    } 

    test { 
     compileClasspath = compileClasspath + configurations.compileOnly 
    } 

    selenium { 
     compileClasspath = compileClasspath + configurations.compileOnly 
    } 
} 

dependencies { 
    //JSF 
    compile group: 'com.sun.faces', name: 'jsf-api', version: '2.1.22' 
    compile group: 'com.sun.faces', name: 'jsf-impl', version: '2.1.22' 
    compile 'org.ocpsoft.rewrite:rewrite-servlet:2.0.3.Final' 
    compile 'org.ocpsoft.rewrite:rewrite-config-prettyfaces:2.0.3.Final' 


    //Servlet 
    compile group: 'javax.servlet', name: 'jstl', version: '1.2' 
    providedCompile group: 'org.jboss.spec', name: 'jboss-javaee-6.0', version: '1.0.0.Final' 
    compile 'taglibs:standard:1.1.2' 
    compile group: 'org.springframework', name: 'spring-web', version: '3.2.2.RELEASE' 

    //Omnifaces 
    compile 'org.omnifaces:omnifaces:1.5' 

    //Prime Faces 
    compile group: 'org.primefaces', name: 'primefaces', version: '4.0-SNAPSHOT' 
    compile 'org.primefaces.themes:bootstrap:1.0.10' 

    // DB 
    compile group: 'org.springframework.data', name: 'spring-data-jpa', version: '1.3.1.RELEASE' 
    compile group: 'org.springframework', name: 'spring-aspects', version: '3.2.2.RELEASE' 
    compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.9' 

    compile group: 'javax.inject', name: 'javax.inject', version: '1' 
    compile group: 'javax.enterprise', name: 'cdi-api', version: '1.0-SP4' 
    compile 'cglib:cglib-nodep:2.2.2' 

    //Hibernate/JPA 
    compile 'org.hibernate:hibernate-core:4.1.0.Final' 
    compile 'org.hibernate:hibernate-entitymanager:4.1.0.Final' 
    compile 'org.hibernate.javax.persistence:hibernate-jpa-2.0-api:1.0.1.Final' 
    //JSR-303 
    compile 'org.hibernate:hibernate-validator:4.3.1.Final' 

    // Spring Security 
    compile 'org.springframework.security:spring-security-core:3.1.4.RELEASE' 
    compile 'org.springframework.security:spring-security-web:3.1.4.RELEASE' 
    compile 'org.springframework.security:spring-security-config:3.1.4.RELEASE' 

    //Utility 
    compile 'com.google.guava:guava:14.0.1' 
    compile 'commons-lang:commons-lang:2.6' 
    compile 'org.apache.commons:commons-email:1.3.1' 
    compile 'com.typesafe:config:1.0.0' 
    compile 'joda-time:joda-time:2.2' 
    compile 'org.apache.geronimo.javamail:geronimo-javamail_1.4_mail:1.8.3' 
    compile 'org.slf4j:slf4j-api:1.7.2' 
    compile 'org.slf4j:jcl-over-slf4j:1.7.2' 
    compile 'org.slf4j:slf4j-log4j12:1.7.2' 


    //Mustache Templates 
    compile 'com.github.jknack:handlebars:1.0.0' 

    //Projects 
    //compile project(":ExtraValidators") 

    ////TESTING DEPENDENCIES 
    testCompile 'com.googlecode.jmockit:jmockit:1.2' 
    testCompile group: 'junit', name: 'junit', version: '4.11' 
    testCompile 'com.h2database:h2:1.3.172' 

    //Spring Testing 
    testCompile 'org.springframework:spring-test:3.2.3.RELEASE' 

    /* Selenium */ 
    seleniumCompile 'org.seleniumhq.selenium:selenium-java:2.33.0' 
    seleniumCompile 'junit:junit:4.11' 
    seleniumCompile 'org.slf4j:slf4j-api:1.7.2' 
    seleniumCompile 'org.slf4j:slf4j-log4j12:1.7.2' 
    seleniumCompile 'org.slf4j:jcl-over-slf4j:1.7.2' 

    /* Remote Jboss */ 
    testCompile group: 'org.jboss.arquillian', name: 'arquillian-junit', version: '1.0.0-SNAPSHOT' 
    jbossasRemoteTestRuntime group: 'org.jboss.arquillian.container', name: 'arquillian-jbossas-remote-6', version: '1.0.0-SNAPSHOT' 
    jbossasRemoteTestRuntime group: 'org.jboss.jbossas', name: 'jboss-as-server', classifier: 'client', version: '6.1.0.Final', transitive: false 
    jbossasRemoteTestRuntime group: 'org.jboss.jbossas', name: 'jboss-as-profileservice', classifier: 'client', version: '6.1.0.Final' 
} 


task wrapper(type: Wrapper){ 
    gradleVersion = '1.6' 
} 

eclipse { 
    classpath { 
     downloadSources=true 
     plusConfigurations += configurations.seleniumCompile 
    } 
} 


task selenium(type: Test) { 
    testClassesDir = sourceSets.selenium.output.classesDir 
    classpath = sourceSets.selenium.runtimeClasspath + files('src/selenium/resources-jbossas') + configurations.jbossasRemoteTestRuntime 
} 

и я запустить тест селен из командной строки с gradlew селена.

, пожалуйста, сообщите, почему регистрация не работает ни при отладке, ни в информации.

+0

Где находится '' log4j.properties'? –

+0

@Buhake Sindi, я добавил конфигурацию градиента. –

+0

Это еще не говорит нам, где находится файл 'log4j.properties' в вашем проекте. –

ответ

2

Есть несколько возможных причин:

  • ваш log4j.properties не является на пути к классам. Распечатайте путь к классу, чтобы убедиться, что там находится каталог, в котором находится log4j.properties. Если log4j не находит никакой конфигурации, вы должны увидеть предупреждение об этом в консоли.

  • некоторые другие log4j.properties б/у. См. Процедуру инициализации по умолчанию here для получения информации о том, какие файлы могут быть рассмотрены. Поскольку log4j, скорее всего, использует загрузчик классов, чтобы найти файл конфигурации, должна быть возможность настроить java, чтобы он регистрировал все загрузки загрузчика классов. Это будет много всего, но в нем также должно быть использовано использование файла log4j.properties. Или вы ищете исходный код log4j для «log4j.properties», используйте это, чтобы найти место загрузки конфигурации и использовать отладчик, чтобы найти то, что точно загружено.

+0

Я добавил конфигурацию градиента. –

0

Попробуйте перестроить проект. Я решил проблему таким образом.

Смежные вопросы