私はMockitoを私のmocking framemorkとして起動しています。私はそれにいくつかのカスタムクラスをモックしよう:Mockitoで静的初期化ブロックを使用する
//usage
@Mock
private LoginAttempt loginAttempt;
とLoginAttempt
クラス:
public class LoginAttempt {
private static LoginAttempt loginAttempt;
static {
loginAttempt = new LoginAttempt();
loginAttempt.setOs(TEST_GLOBALS.OS);
loginAttempt.setBrowser(TEST_GLOBALS.BROWSER);
loginAttempt.setDevice(TEST_GLOBALS.DEVICE);
loginAttempt.setOsVersion(TEST_GLOBALS.OS_VERSION);
loginAttempt.setBrowserVersion(TEST_GLOBALS.BROWSER_VERSION);
}
...
しかし、私は私のテストケースをデバッグするとき、loginAttempt
varが空です。私は間違って何をしていますか?
私はこのような何かやるべきことを、チュートリアルで見た:私はいくつかのフィールドの値をPREINITIALIZEしたい場合
private static LoginAttempt loginAttempt = new LoginAttempt();
しかし、何を?
EDIT私のloginAttempt
はnullではありませんが、staticブロックで割り当てた値は初期化されません。
これはMockitoを行うには何もしていないようです。いずれかの方法で 'LoginAttempt.loginAttempt.os'の値をチェックするとどうなりますか? –
'TEST_GLOBALS'とは何ですか?それは定数のように書かれていますが、1つのようには使用されません。 –
@LewBloch定数を含むクラス。 –