组织的 Salesforce 测试

Salesforce Tests for Org

是否每个 APEX class 都有自己的测试 class?

目前正在处理一个组织中的测试,其中 80% 的 APEX 测试都在一次测试中class,这似乎不是最佳选择。

我会说是的,确实不推荐将所有组织的测试集中在一个 class 中。我看到的一些缺点:

  • 大 classes 会增加依赖性,这意味着多个开发人员更有可能在同一个项目上工作 class,这会增加复杂性
  • 当一个大 class 包含所有测试方法时,很难在功能上“确定”您的测试。当一个独立的 class 包含某个 class 的测试方法时,更容易理解要测试的内容并进一步连贯地扩展 class
  • 通过使用不同的 classes,您可以更好地利用 @testSetup 注释 (https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_testing_testsetup_using.htm),因为每个 class 只能使用一种方法使用 @testSetup 注释

这些是您更愿意将测试方法拆分为不同 classes 的部分原因(当然还有其他原因)。

我认为这个问题没有适合所有情况的答案。这将视具体情况而定。

因为您的组织只有 1 个测试 Class。我相信您的代码库还没有那么大,现在是开始引入适合您的用例的设计模式并重构该代码的好时机。