2017-10-23 18 views
-1

テストを実行する前に使用する必要があるパラメータのテストを行う方法はありますか?別のアカウントやそのようなものでログインするのはどうですか?テスト前のJUnitパラメータ

ウェブページをテストします。 Webページは、ログインしているユーザーによって動作が異なります。各テストを行う前に、ログインしているユーザーを切り替えたいと思います。ログインするユーザーを@Beforeに知らせる方法はありますか?

+0

@Progmanはスマートな解決策を得ました。いくつかのパラメータを指定することができます管理者ではないいくつかの場合は、私はあなたがクリーンアップされている複数のテストファイルでこれを使用する必要があると思うので、この設定を自分のクラスに入れます。 – LenglBoy

答えて

1

あなたのログインを行うヘルパーメソッドを書くことができます。テスト/チェックしたいものに応じて、これらのメソッドをテストで使用できます。

@Test 
public void deleteUserComment() { 
    int adminId = this.loginAsAdministrator(); 
    /* 
    ... 
    */ 
} 

@Test 
public void saveSettings() { 
    int userId = this.loginAsUser(); 
    /* 
    ... 
    */ 
} 
+0

おそらく、ユーザーごとに1人以上のユーザーがいて、独自のLoginForTestクラスを作成する場合は、user/type-parameterを追加します。 @Progmanのスマートなソリューション "bro"。 – LenglBoy

0
int x = 0; 

@BeforeEach 
public void beforeEach() { 
    switch(x) { 
     case 0: 
      //Log in with user 1 
      break; 
     case 1: 
      //Log in with user 2 
      break; 
    } 
    x++: 
} 

+0

これはうまくいくかもしれませんが、テストが実行される時系列はわかりません。ユーザー4がログインしていて、テスト1が実行された可能性があります。 – LenglBoy