Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

869
Views
Can you verify a property setter using mockk?

We had a few tests in Java and Mockito, which we are progressively converting into Kotlin and Mockk. There's a problem, though. This simple line:

verify(mockedInteractor).setIndex(1);

When we move it to mockk, we get this:

verify { mockedInteractor.index = 1 }

This of course passes the tests, as it's not actually checking that index was set to 1. It's simply setting the mock's variable to 1. This below has the same effect.

verify { mockedInteractor.setIndex(1) }

Is there a way to verify setters?

over 4 years ago · Hanz Gallego
4 answers
Answer question

0

You could try capture:

val fooSlot = slot<String>()
val mockBar = mockk<Bar>()
every { mockBar.foo = capture(fooSlot) } answers { }
assertEquals(fooSlot.captured, "expected")
over 4 years ago · Hanz Gallego Report

0

Yes you can:

verify { mockedInteractor setProperty "index" value 1 }

There are more examples in here https://mockk.io/#private-functions-mocking--dynamic-calls

over 4 years ago · Hanz Gallego Report

0

Compact solution without hardcoded string:

verify { mockedInteractor setProperty MockedInteractor::index.name value 1 }

where MockedInteractor is mockedInteractor class

over 4 years ago · Hanz Gallego Report

0

You can now relax this requirement for unit functions when defining your mock.

val foo = mockk<Foo>(relaxUnitFun = true)

Enabling this setting on your mock means you will not need to use justRun or any variation of that code (as per the Mockk documentation) when verifying unit functions are invoked.

over 4 years ago · Hanz Gallego Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!