You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java用EasyRandom生成测试随机数据,Kotlin可用哪些类库实现?

Kotlin 测试用假数据生成类库推荐

1. EasyRandom(Java/Kotlin 通用)

你熟悉的EasyRandom完全可以在Kotlin中直接使用,Kotlin与Java的完全兼容性让它无需额外适配就能生成任意类的实例,同时支持自定义生成规则。

依赖配置(Gradle)

implementation 'org.jeasy:easy-random-core:5.0.0'

Kotlin 代码示例

val generator = EasyRandom()
val dummy: MyDto = generator.nextObject(MyDto::class.java)
// 执行测试逻辑

2. kotlin-faker(Kotlin 专属)

专为Kotlin打造的假数据生成库,API贴合Kotlin语法特性,支持本地化数据生成,能覆盖姓名、地址、邮箱、文本等多种常用假数据类型,还支持自定义生成规则。

依赖配置(Gradle)

implementation 'io.github.serpro69:kotlin-faker:1.15.0'

Kotlin 代码示例

val faker = Faker()

// 生成基础假数据
val fakeName = faker.name.fullName()
val fakeEmail = faker.internet.email()

// 生成自定义类实例(需添加扩展依赖)
// 扩展依赖:implementation 'io.github.serpro69:kotlin-faker-extensions:1.15.0'
val dummy: MyDto = faker.fake()

3. DataFaker(原Java Faker,兼容Kotlin)

Java生态中广泛使用的假数据库,可在Kotlin中无缝使用,提供海量预定义假数据类型,覆盖绝大多数日常测试场景。

依赖配置(Gradle)

implementation 'net.datafaker:datafaker:2.0.2'

Kotlin 代码示例

val faker = DataFaker()

val fakeAddress = faker.address().fullAddress()
val fakePhone = faker.phoneNumber().phoneNumber()

// 手动填充自定义类实例
val dummy = MyDto().apply {
    name = faker.name().fullName()
    age = faker.number().numberBetween(18, 60)
    email = faker.internet().email()
}

4. MockK(Mock + 假数据生成)

如果测试中需要同时Mock对象并生成假数据,MockK的fake()函数可以快速生成带有随机数据的类实例,适合单元测试场景。

依赖配置(Gradle)

testImplementation 'io.mockk:mockk:1.13.8'

Kotlin 代码示例

import io.mockk.every
import io.mockk.fake

// 生成全随机字段的实例
val dummy: MyDto = fake()

// 自定义部分字段值
val customDummy: MyDto = fake {
    every { name } returns "Test User"
    every { age } returns 25
}

内容的提问来源于stack exchange,提问作者Ivan Ivanchuk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 23:42:07