Testing an Action Method

DEX450 - Module 20: Testing Visualforce Controllers

📄 第 536 页 🎬 视频课程

课程章节介绍

让我们来聊聊如何在Salesforce中测试一个Action Method,也就是我们常说的操作方法。这个操作通常是在Visualforce页面上,比如你点击一个“保存”按钮时触发的。 首先,我们需要理解的是,当我们点击页面上的按钮时,比如“保存”按钮,它会调用一个后台的Apex方法。这个方法会执行一些操作,比如保存数据到数据库中。为了确保这个方法按预期工作,我们需要写一些测试代码来模拟这个点击操作,并验证结果。 现在,我们来看一下你提供的测试代码: 1. 首先,我们创建了一个控制器实例 `MyController testControl = new MyController();`。这个控制器通常是与Visualforce页面绑定的,它包含了页面需要的所有逻辑和数据。 2. 接下来,我们设置了控制器的属性。比如 `testControl.setName('John');` 这行代码,我们假设控制器有一个方法 `setName`,用来设置一个名字。这里我们设置名字为“John”。 3. 然后,我们调用了 `testControl.setCal(new Cal());`。这里假设 `setCal` 方法接受一个 `Cal` 类型的对象,并将其设置为控制器的属性。`Cal` 可能是我们定义的一个类,用来处理一些特定的逻辑。 4. 最后,我们调用了 `save` 方法,这个方法通常是我们点击“保存”按钮时调用的。`PageReference successPage = testCtrl.save();` 这行代码执行了保存操作,并返回一个 `PageReference` 对象。这个对象通常用来重定向用户到另一个页面,比如保存成功后的确认页面。 通过这样的测试代码,我们可以模拟用户在页面上的操作,并验证控制器的逻辑是否正确执行。如果 `save` 方法按预期工作,它应该返回一个有效的 `PageReference`,并且相关的数据应该被正确地保存到数据库中。 这就是如何通过显式调用方法来测试一个Action Method的基本流程。希望这能帮助你更好地理解Salesforce中的测试方法!