如果在测试类中seeAlldata = false,我如何创建具有系统管理员配置文件的用户

Pra*_*ady 4 salesforce apex-code

我想在系统管理员配置文件的测试类中创建一个User.

我遇到的问题是我有seeAllData = false,在测试类中只使用测试类中的数据.

 List<Profile> ps = [select id, name from Profile where  name = 'System Administrator'];
Run Code Online (Sandbox Code Playgroud)

这可能不会返回任何值.

我们如何创建用户的任何想法

编辑

即使使用seeAllData = false,我也可以获取查询数据.那么,即使SeeAllData = false,Profile记录也是可见的?

JCD*_*JCD 7

根据文档,用户和配置文件对象被视为"用于管理组织的对象",无论您的测试类/方法是否包含IsTest(SeeAllData=true)注释,都可以访问它们.

以这种方式可访问的其他对象包括:

  • 组织
  • 记录类型
  • ApexClass
  • ApexTrigger
  • ApexComponent
  • ApexPage