resetPassword処理で指定したユーザのパスワードをリセットできますが、getPassword()を利用することでリセット後のパスワードを取得することができます。
これのテストクラスを書くときはどんな感じになるか確認してみました。
public with sharing class ChangePWDemoController { public ChangePWDemoController() { } public String doChange(Id userId) { String result = system.resetPassword(userId,false).getPassword(); return result; } }
@isTest private class ChangePWDemoControllerTest { private static User testAdminUser = new User(Id = UserInfo.getUserId()); static testMethod void doChangeTest() { System.runAs(testAdminUser) { Test.startTest(); ChangePWDemoController cls = new ChangePWDemoController(); String result = cls.doChange(testAdminUser.Id); Test.stopTest(); System.assertEquals(String.isNotEmpty(result), true); } } }
パスワードの値は毎回異なると思いますので、値の存在チェックだけ行う形になると思います。