【问题标题】:Salesforce Tests for Org面向组织的 Salesforce 测试
【发布时间】:2021-09-09 20:45:57
【问题描述】:

每个 APEX 类都应该有自己的测试类吗?

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

【问题讨论】:

    标签: unit-testing salesforce apex apex-code salesforce-lightning


    【解决方案1】:

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

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

    这些是您希望将测试方法分成不同类的一些原因(当然还有其他原因)。

    【讨论】:

    • 感谢您的链接,最好为每个 Apex 类/触发器编写一个单独的测试类吗?我不确定这是否是矫枉过正。
    • 我不认为这是矫枉过正,我认为这是组织测试的好方法。在我从事的所有项目中,都遵循了这一准则。
    【解决方案2】:

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

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

    【讨论】:

    • 感谢您的回复!是否有最适合销售人员的特定设计模式?我不确定为每个 APEX 类/触发器创建单独的测试类是否是最佳解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 2022-01-28
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多