2017-10-20 10 views
0

次のFixtureとFitnessTestをその什器について書いていますが、FitNesseはFixtureを見つけることができません。私は単純にユーザー名とパスワード(意図的に空白)を提供し、そのユーザーのために言語コード、国番号、およびvariantcodeをチェック:FitNessse Testが什器を見つけることができません

public class UserLanguageFixture extends TestSetup { 
    private String userId; 
    private String password; 
    private String languageCode, countryCode, 
      variantCode; 

    UserLanguageFixture(String userId, String password) { 
     this.userId = userId; 
     this.password = password; 
    } 

    UserLanguageFixture() { 
    } 

    public void setUserId(String userId) { 
     this.userId = userId; 
    } 

    public void setPassword(String password) { 
     this.password = password; 
    } 

    public void processUserIdAndPassword(String userId, String password) throws 
      JsonProcessingException { 
     Client client = ClientBuilder.newClient(); 
     WebTarget webTarget = client.target(Constants.BASE_URL).path 
       ("/rest/usersetting").path(this.userId).path("-").path(String 
       .valueOf(565)); 

     Response res = webTarget.request(MediaType.TEXT_PLAIN).cookie(sessionCookie).get(); 
     if (res.getStatus() == 200) { 
      String s = res.readEntity(String.class); 
      LanguageBean bean = TestUtil.extractObjectFromPayload(s, LanguageBean.class); 
      this.languageCode = bean.getLanguageCode(); 
      this.variantCode = bean.getVariantCode(); 
      this.countryCode = bean.getCountryCode(); 
     } 
    } 

    public String getLanguageCode() { return this.languageCode; } 

    public String getCountryCode() { return this.countryCode; } 

    public String getVariantCode() { return this.variantCode; } 
} 

FitNesseのテストは以下の通りです:

!path C:\Projects\webservice\ws-test\target\classes 

!2 Scenario Definition 

!|scenario    |User Language |userId||password||languageCode||countryCode||variantCode| 
|processUserIdAndPassword;|@userId   |@password            | 
|check     |getLanguageCode;|@languageCode           | 
|check     |getCountryCode; |@countryCode           | 
|check     |getVariantCode; |@variantCode           | 


!2 Test run 

!|script|c.b.mc.fixture.UserLanguageFixture|userId|password| 

!|User Language               | 
|# description|userId  |password|languageCode|countryCode|variantCode| 
|Test 01  |IUSER|  |en   |null  |null  | 

私は慎重にことを確認しましたFixture UserLanguageTest.classは、ターゲット内のjarファイルおよびターゲット・フォルダのclassesサブフォルダにも存在します。

奇妙な部分は、私は別のFixtureを同じパッケージに書いてあり、simialr FitNesse Testを書いています。 FitNesseはFixtureを見つけることができます。

誰かがここで間違っている可能性があることを指摘してもらえますか?もっと確認できますか?私が得るエラーは以下のとおりです。

script com.b.m.fixture.UserLanguageFixture Could not invoke constructor for c.b.m.fixture.UserLanguageFixture[2] 

答えて

0

私は単にコンストラクタ公共を行うことで問題を解決するために管理しました。 FitNesse Testでは、パブリックコンストラクタを持つことが非常に重要です。

public UserLanguageFixture(String userId, String password) { 
     this.userId = userId; 
     this.password = password; 
    } 

    public UserLanguageFixture() { 
    } 
関連する問題