これは感動!VisualStudio CodeのSalesforce拡張機能が進化しているぞ
このところ、VisualStudio CodeのSalesfore拡張(Salesforce Extension Pack)の進化が止まらない。
デベロッパーとしてはとても嬉しいです。
これまで、Apexクラスのテストコードを書いて、それを実行するには以下のような感じでした。
コマンドパレットで、「SFDX: Apexテストを呼び出す」を実行
テストしたいテストクラスを選択
テスト実行
2020.4.16時点のSalesforce Extension Pack48.10.0になると、テストコード内にテストを実行するための表示が出現します。
@isTest
Run All Tests
class test_EventCalendar {
static final String ACCOUNT_NAME = 'テスト取引先';
static final String EVENT_SUBJECT = 'テスト行動';
/**
* テストセットアップ
*/
@TestSetup
static void setup(){
// 取引先を作成する
Account acc = new Account();
acc.Name = ACCOUNT_NAME;
insert acc;
// 行動を作成する
Event evt = new Event();
evt.Subject = EVENT_SUBJECT;
Date dtToday = Date.today();
evt.StartDateTime = Datetime.newInstance(dtToday.year(), dtToday.month(), dtToday.day());
evt.EndDateTime = Datetime.newInstance(dtToday.year(), dtToday.month(), dtToday.day());
evt.WhatId = acc.Id;
insert evt;
}
/**
* 開始日と終了日の行動を取得するのテスト
*/
@isTest
Run Test
static void test_getEvents() {
// 今日の日付を取得する
Date dtToday = Date.today();
Datetime dtNow = Datetime.newInstance(dtToday.year(), dtToday.month(), dtToday.day());
// 今月の開始日を設定する
Date dtStart = Date.newInstance(dtToday.year(), dtToday.month(), 1);
// 今月の終了日を設定する
Date dtEnd = dtStart.addMonths(1).addDays(-1);
List<Event> lstEvent = EventCalendar.getEvents(dtStart, dtEnd);
// 行動が1件取得できたかをチェックする
system.assertEquals(lstEvent.size(), 1, '行動の件数が1件ではありません');
// 正しい行動が取得できたかをチェックする
System.assertEquals(lstEvent[0].What.Name, ACCOUNT_NAME, '行動の件名が異なります');
System.assertEquals(lstEvent[0].Subject, EVENT_SUBJECT, '行動の件名が異なります');
System.assertEquals(lstEvent[0].StartDateTime, dtNow, '開始日付時刻が異なります');
System.assertEquals(lstEvent[0].EndDateTime, dtNow, '終了日付時刻が異なります');
}
/**
* 行動保存のテスト
*/
@isTest
Run Test
static void test_saveEvent() {
String event = '{"subject":"件名-Test","isallday":false,"startdatetime":"2020-04-16T08:00:00.000Z","enddatetime":"2020-04-16T09:00:00.000Z","location":"場所","description":"説明","isprivate":false}';
EventCalendar.saveEvent(event);
List<Event> lstEvent = [SELECT Id FROM Event WHERE Subject = '件名-Test'];
System.assertEquals(lstEvent.size(), 1, '保存した行動が取得できません');
}
}
Run All Test、Run Testが表示され、これをクリックするとテストが実行できます。
これは、めっちゃ楽!
この記事が気に入ったらサポートをしてみませんか?