Salesforce 生成测试可用 Id
在写 Test Class 的时候,有时候需要一批有 Id 的数据或者把 Id 作为参数等情况,在数据关系比较复杂的情况下去造真实数据有些麻烦,于是找到这样一个可以生成 Id 的方法可以用来辅助测试!
private static Integer fakeIdCount = 0;
private static final String ID_PATTERN = '000000000000';
/**
* Generate a fake Salesforce Id for the given sObjectType
*/
public static Id generateFakeId(Schema.sObjectType sObjectType) {
String keyPrefix = sObjectType.getDescribe().getKeyPrefix();
fakeIdCount++;
String fakeIdPrefix = ID_PATTERN.substring(0, 12 - fakeIdCount.format().length());
return Id.valueOf(keyPrefix + fakeIdPrefix + fakeIdCount);
}
调用演示:
Id fakeId = TestHelper.generateFakeId(Account.sObjectType);
这个不是任何情况都适用,有一些 Object 的 Id 类型的值是不允许用户手动赋值的,那个只能乖乖的建真实记录了!!!