2017-02-02 20 views
0

최근에 wicket에서 개발하기 시작했고 단위 테스트 자체에서 wicket 응용 프로그램을 설정하는 방법을 궁금해했습니다. 나는 현재 개찰판 6.8 코어를 사용 중이다. 단위 테스트를위한 4.1.2.Wicket 단위 테스트 Translations.utils 찾을 수 없음

응용 프로그램에 로케일을 설정하는 방법이 궁금합니다. 실제로 좋은 방법으로 테스트 응용 프로그램을 만듭니다. 내가 달성하려고하는 것은 번역 파일에서로드 된 문자열 집합을 반환 할 수 있는지 확인하는 테스트입니다.

//from the Class. 
public Class Information(){ 

    public Information(){} 

    public String getInfo(){ 
     return TranslationUtil.getTranslation("RandomFieldNameTobeTranslated"); 
    } 
} 

단위 테스트 :

import org.junit.Before; 
import org.junit.Test; 

public class InformationTest(){ 
    @Before 
    public void setup() throws Exception(){ 
     //needs to be setup in someway it can be used by the test. 
     tester = new WicketTester(); 
     WebApplication web = tester.getApplication(); 
     web.usesDeploymentConfig(); 
     web.configure(); 
     web.initApplication(); 
     Session.get().setLocale(new Locale("en_us")); 
    } 

    @Test 
    public test(){ 
     Information information = new Information(); 
     assertEquals("Foo is Foo", "Foo", information.getInfo()); 
    } 
} 

단위 테스트 코드를 실행과 재산을 찾을 수 없습니다를 얻을 것이다. 이것은 문제를 설명하는 기본적인 테스트 일뿐입니다.

java.util.MissingResourceException: 
Unable to find property: 'RandomFieldNameTobeTranslated'. Locale: null, style: null 

초기화 및 구성시 약간의 변형을 시도했습니다. 하지만 나는 개발 단위 테스트를 위해 올바른 방법으로 개찰기를 초기화하는 방법을 알기에는 너무 경험이 없습니다.

질문 :이 세션에서 로케일을 찾을 수 있도록

  1. 는 어떻게 개찰구를 초기화 할 수 있습니다?

  2. wicket을 올바른 번역 파일로 리디렉션하는 방법은 무엇입니까?

생산 버전이 작동하지만 단위 테스트를 만들고 싶습니다. '애플리케이션'이 필요합니다. 그것은 조롱받을 수 있지만, 최후의 수단으로 이것은 여러 지역에 사용되기 때문에 오히려 '가치는 가치와 동일합니다.'를 테스트하기를 원합니다. #wicket에서 @selckin

답변

1

는 :

new WicketTester(new YourApplicationClas()); 

실제 단위 테스트 코드 뒤에 :

import org.junit.Before; 
import org.junit.Test; 
import java.util.Locale; 

public class SchedulerModelTest { 
@Before 
public void setup() throws Exception { 
    new WicketTester(new ReconAdminApplication()); 
    Session.get().setLocale(new Locale("en_us")); //always set the locale. 
} 

@Test 
public test(){ 
    Information information = new Information(); 
    assertEquals("Foo is Foo", "Foo", information.getInfo()); 
} 

} 
그냥하여 시작