【Salesforce】Test

Apex 单元测试

在方法、类、类集或整个组织上运行单元测试。

所需用户权限
定义、编辑、删除、设置安全性、设置版本设置和运行 Apex 类的测试:

您可以运行单元测试的这些分组。
  • 特定类中的一些或所有方法
  • 类集中的一些或所有方法
  • 预定义类套件,称为测试套件
  • 您的组织中的所有单元测试

Apex 从 Salesforce 用户界面中启动的测试可以并行运行。除非您的测试运行仅包含一个类,且未从开发人员控制台的测试菜单中选择始终异步运行,则从用户界面启动的测试运行是异步操作。Apex 测试类置于 Apex 作业队列中以待执行。您在每 24 小时内可以运行的测试类的最大数目为 500 或组织中测试类的数目乘以 10(取较大者)。对于 Sandbox 和 Developer Edition 组织而言,此限制数目大于 500 或组织中测试类的数目乘以 20(取较大者)。

所需用户权限
定义、编辑、删除、设置安全性、设置版本设置和运行 Apex 类的测试:

按单元测试的代码覆盖率

必须先满足以下条件,才可以部署您的代码或者为 Force.com AppExchange 包装代码:

  • 您的 Apex 代码至少 75% 必须由单元测试覆盖,并且所有这些测试必须成功完成。
    请注意以下事项。
    • 将 Apex 部署到生产组织时,默认情况下会执行您的组织命名空间内的每个单元测试。
    • 调用 System.debug 不会计为 Apex 代码覆盖率的组成部分。
    • 测试方法和测试类不会被计为 Apex 代码覆盖率的组成部分。
    • 虽然仅有 75% 的 Apex 代码必须由测试覆盖,但您不应关注在被覆盖的代码百分比上。而是应确保覆盖您应用程序的每个使用个案,包括正面和负面个案,以及批量和单个记录。此举可使 75% 或以上的代码都被单元测试覆盖。
  • 每个触发器必须都有一些测试覆盖率。
  • 所有类和触发器必须都成功编译。

如果您的测试调用其他类,或使触发器执行,则该类或触发器包含在代码覆盖率计算中。

在执行测试后,代码覆盖结果在开发人员控制台中可用。

要生成代码覆盖率结果,请首先使用以下方式之一运行测试。
  • 要从开发人员控制台运行所有测试,请选择测试 | 运行全部。运行测试子集不会始终正确更新代码覆盖率结果,因此运行所有测试是查看代码覆盖率的最佳方式。
  • 要从开发人员控制台选择并运行测试,请参阅创建测试运行
  • 要从开发人员控制台设置可重复使用的测试套件,请参阅通过测试套件管理 Apex 测试类集
  • 要运行所有测试,请从“设置”中,在Quick Find方框中输入 Apex,选择 Apex 类,然后单击运行所有测试
  • 要运行单个类的测试,请从“设置”中,在Quick Find方框中输入 Apex,然后选择 Apex 测试执行。单击选择测试,选择包含要运行测试的类,然后单击运行

在运行测试后,您可在开发人员控制台中查看代码覆盖率结果。这些结果包含单个类或触发器测试涵盖的代码行。请参阅检查代码覆盖率


编写Test类基本步骤可以分成4步:

1.创建测试数据;

2.调用Test.startTest()方法;

3.调用需要测试的方法();

4.调用Test.stopTest()方法。



所需用户权限
定义、编辑、删除、设置安全性、设置版本设置和运行 Apex 类的测试:
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页