在 Azure DevOps 中运行测试类(使用 Ant 结构)

52次阅读
没有评论

问题描述

在使用 Azure DevOps 和 Ant 结构/工具时,想要在 Salesforce 组织中运行测试类。他已经尝试了很多天,但没有成功。他想知道在他的脚本中应该在哪里添加运行测试类的命令/选项,以及如何添加。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

根据你提供的脚本,你可以在 Ant 任务中添加一个新的 target 来运行测试类。下面是如何修改你的脚本来实现的步骤:

  1. 打开你的 build.xml 文件。
  2. 在文件中找到 deployCodeCheckOnly target,这是用于部署代码的 target。
  3. deployCodeCheckOnly target 的末尾添加一个新的 target,用于运行测试类。你可以将它命名为 runTests 或其他你喜欢的名称。
  4. 在新的 target 中,使用 <sf:deploy> 任务来运行测试类。你可以使用 runAllTests 属性来运行所有测试类,或者使用 runTests 属性来指定要运行的特定测试类。
  5. 保存并关闭 build.xml 文件。

下面是一个示例修改后的 build.xml 文件:

<project name="MyProject" default="deployCodeCheckOnly" basedir=".">
  <!-- 其他配置 -->

  <target name="deployCodeCheckOnly">
    <!-- 部署代码的任务 -->
  </target>

  <target name="runTests" depends="deployCodeCheckOnly">
    <sf:deploy username="${salesforce.username}" password="${salesforce.password}" serverurl="${salesforce.loginurl}" testLevel="${salesforce.testLevel}" runAllTests="true" />
  </target>
</project>

在上面的示例中,我们在 deployCodeCheckOnly target 的末尾添加了一个新的 target runTests。在 runTests target 中,我们使用 <sf:deploy> 任务来运行测试类。runAllTests 属性被设置为 true,这将运行所有的测试类。你也可以根据需要修改该属性来指定要运行的特定测试类。

请确保在运行脚本之前,你已经正确配置了 Salesforce 相关的参数,如 salesforce.usernamesalesforce.passwordsalesforce.loginurlsalesforce.testLevel

希望这个解决方案对你有帮助!如果你有任何其他问题,请随时提问。

正文完