Testing 在测试类中创建的记录在控制器中不可见 我正在为一个控制器创建一个测试类,我不知道在一个控制器中的一个方法中对于一个对象创建的记录是什么原因。该方法有一个选择查询,它给出空白输出。如果我在测试类中运行相同的查询,这将提供输出。不同对象的其余记录也可见,工作正常

Testing 在测试类中创建的记录在控制器中不可见 我正在为一个控制器创建一个测试类,我不知道在一个控制器中的一个方法中对于一个对象创建的记录是什么原因。该方法有一个选择查询,它给出空白输出。如果我在测试类中运行相同的查询,这将提供输出。不同对象的其余记录也可见,工作正常,testing,salesforce,apex,test-class,Testing,Salesforce,Apex,Test Class,是否有任何特定原因导致该记录在控制器的方法中不可用???检查1: 这可能是一些访问问题。因此,请检查配置文件级别中的对象访问 如果您是系统管理员,则尝试以系统管理员用户身份运行来创建记录 User adminUser = [SELECT Id,Name FROM User WHERE Id =: UserInfo.getUserId()]; System.runAs(adminUser){ //Test Class block } 检查2: 如果它发生在触发器或触发器处理程序相关的测试

是否有任何特定原因导致该记录在控制器的方法中不可用???

检查1:

这可能是一些访问问题。因此,请检查配置文件级别中的对象访问

如果您是系统管理员,则尝试以系统管理员用户身份运行来创建记录

User adminUser = [SELECT Id,Name FROM User WHERE Id =: UserInfo.getUserId()];
System.runAs(adminUser){
    //Test Class block
}
检查2:

如果它发生在触发器或触发器处理程序相关的测试类中。那么请看下面的场景

例如:假设您正在处理Order和OrderItem对象。插入或更新后,Order对象上有一个触发器

要创建任何OrderItem,首先需要创建订单。因此,您将首先插入订单,然后再插入OrderItem

因为我们在Order对象上有一个触发器,所以只要插入Order记录,触发器就会开始执行。 在触发器中,我们可能也使用了OrderItem记录。但它们还不能在Trigger中使用

因为到目前为止,我们只创建了订单记录,触发器立即开始执行,我们还没有创建OrderItem

因此,请尝试以下方法:

Create/Insert an Order.
Create OrderItems by using the above Order id.
Now just do a simple update on Order record and see if it works.

请检查您的共享设置。您创建了记录,但是否已将其插入数据库?请考虑至少在这里展示你的测试课。