fbpx

How to mock data class?

Short answer: you don’t.

Instead: create additional function.

Let’s suppose, you have User data class.

data class User(val id: Int, val name: String, val email: String)

The easiest way to “mock” it would be to use default values. But does default values always makes sense? If it’s json model, it may not be the best solution.

Create additional function createUser that will accept the same values as your data class. Now you can use “defaults” by calling that function.

fun createUser(
    id: Int = 1,
    name: String = "",
    email: String = ""
): User {
    return User(id, name, email)
}

But what if I need many of those users?

Glad you asked.

Create another function. Now you can generate as many unique Users as you want.

fun generateUsers(howMany: Int) = List(howMany){index->
    User(
        id = index,
        name = "Name #$index",
        email = "user_$index@domain.com"
    )
}

We usually refer all test doubles as “mocks”.

Keep it in mind while testing.

more insights

Uncategorized
Jarosław Michalik

3 things that defined my Android dev career

Building an Android developer career isn’t just about coding—it’s about the experiences that push you to grow. Whether it’s connecting with other Android devs at meetups or mastering the fundamentals, it’s those key moments that shape how you approach the craft.

Read More »

AndroidPro newsletter 🚀

join 3057 developers reading AndroidPro newsletter every week

👉 tips & tricks, articles, videos

👉 every Thursday in your inbox

🎁 bonus on signup – Clean Architecture blueprint

brought to you by Jarek Michalik, Kotlin GDE

You can unsubscribe any time. For details visit our privacy policy.

android pro newsletter tips and tricks how to learn android