嘿,
今天,我想给我最近发现的一个有趣的图书馆,以及希望我以前知道的一个有趣的库。在编写测试代码/示例代码时,此名为EasyRandom的库很有用。
easyrandom简单地提出
EasyRandom是生成Java Bean的库。它主要用于帮助创建用于测试的示例对象。
有时候,当我们编写测试代码时,我们发现自己编写了大量示例数据来测试我们的组件,尤其是在对象树太大的情况下编写此类数据可能很乏味地址对象,雇主列表,部门等。为此方案编写示例数据令人讨厌且无趣,这正是EasyRandom派上用场的时候。
让我们进入一个简单的例子,假设我们有一个Java对象,代表员工,如下所示:
这是一个简单的pojo,没有嵌套对象/依赖关系。
单个对象
生成一个对象将通过NextObject方法完成:
对象列表
如果我们希望生成员工列表,该怎么办?简单,使用将返回所需对象流的对象方法:
此方法将生成10名员工的列表。
复杂对象
太好了!!!现在让我们在模型中更加复杂:
调用NextObject后生成的对象如下:
[Employee(firstName=eOMtThyhVNLWUZNRcBaQKxI, lastName=yedUsFwdkelQbxeTeQOvaScfqIOOmaa, hiringDate=2024-06-18, contactNumber=JxkyvRnL, department=Department(name=RYtGKbgicZaHCBRQDSx), manager=Manager(managerLevel=VLhpfQGTMDYpsBZxvfBoeygjb), position=Position(positionCode=oDLDPR), previousEmployers=[Employer(employerName=IQrWtYnHcO, contactNumber=XgLyqkDjxtCDIj), Employer(employerName=zQeAydAJIwkGuKWiVZLRcElhreuxvw, contactNumber=YVeSelxWdEtYtJHV), Employer(employerName=VIhYOTAybWXyBzGqRe, contactNumber=wKkOqxJSqDjAtcDF), Employer(employerName=hXJISTd, contactNumber=cdpW), Employer(employerName=hXJISTd, contactNumber=cdpW), Employer(employerName=hXJISTd, contactNumber=cdpW), Employer(employerName=GGiDYDmCRViOaAXNumPGEBX, contactNumber=O), Employer(employerName=bplgXS, contactNumber=PAgcjtZAOBahwMGwNikIaKuxYYVASJc), Employer(employerName=RRVabC, contactNumber=DwmrfUyJVSbdBFIyjTfpDItaXB), Employer(employerName=bplgXS,
.................
我们可以从上面的结果中看到,图书馆为我们的雇员创建了许多雇主对象,就我而言,它创建了48,也许我们不需要许多雇主来进行测试,这就是Easyparameters的来源。Easyparameters。使我们能够自定义对象创建的对象:
通过我选择的easyrandomparameters在集合中以最大3个项目生成,我还设置了在生成随机日期时应选择的日期范围。
运行程序,这次结果更方便:
[Employee(firstName=eOMtThyhVNLWUZNRcBaQKxI, lastName=yedUsFwdkelQbxeTeQOvaScfqIOOmaa, hiringDate=2022-05-19, contactNumber=JxkyvRnL, department=Department(name=RYtGKbgicZaHCBRQDSx), manager=Manager(managerLevel=VLhpfQGTMDYpsBZxvfBoeygjb), position=Position(positionCode=GGiDYDmCRViOaAXNumPGEBX), previousEmployers=[Employer(employerName=JuhuUTlSCYdTVoSsJGyClHNnCWZGwZ, contactNumber=ImfitPVWqHXHNeZIUAYI)])]
这就是对Easyrandom的快速介绍。有关更多详细信息,请参考官方文档。