Я делаю свое первое глубокое погружение в модульное тестирование с Mockito, поэтому, пожалуйста, потерпите меня.Я работаю над этим тестом:
class PasswordStateManagerTest {
private lateinit var passwordStateManager: PasswordStateManager
@MockK
private lateinit var mockContext: Context
@MockK
private lateinit var mockSharedPreferences: SharedPreferences
@Before
fun setup() {
MockKAnnotations.init(this, true)
every{ mockContext.getApplicationSharedPreferences() } returns mockSharedPreferences
// this is the line that won't compile
Mockito.when(mockSharedPreferences.getBoolean("save_password", false)
)
.thenReturn(true)
passwordStateManager = PasswordStateManager(mockSharedPreferences)
}
}
Строка when.thenReturn не будет компилироваться.Он ожидает открытого символа {
, в котором я пытаюсь выполнить .thenReturn
.Когда я читаю документы, в этом утверждении нет места для открытой скобки, поэтому я должен быть не в курсе.
Вот часть метода init тестируемого класса, которая создаетпотребность в строке when-thenReturn в тесте:
init {
willSavePassword = prefs.getBoolean("save_password", false)
}
Спасибо за любую помощь (и терпение, пока я набираю скорость!).