Get Started with Apex Unit Tests
生活随笔
收集整理的這篇文章主要介紹了
Get Started with Apex Unit Tests
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
以下是Apex單元測試的好處
維護(hù)數(shù)據(jù)安全是我們的首要任務(wù)。
我們不會在您的組織中查看或修改任何數(shù)據(jù),并且所有測試都在運(yùn)行于安全數(shù)據(jù)中心的副本中完成。
部署的代碼覆蓋率要求
在將代碼部署或打包到Lightning Platform AppExchange之前,測試必須覆蓋至少75%的Apex代碼,并且所有這些測試都必須通過。此外,每個觸發(fā)器必須具有一定的覆蓋范圍。即使代碼覆蓋是部署的要求,也不要僅僅為了滿足此要求而編寫測試。確保測試您應(yīng)用中的常見用例,包括肯定和否定測試用例以及批量和單記錄處理。
測試方法的可見性并不重要,因此將測試方法聲明為公共方法或私有方法并沒有什么不同,因?yàn)闇y試框架始終能夠訪問測試方法。
因此,語法中省略了訪問修飾符
將測試類用于單元測試,則將其聲明為私有。公共測試類通常用于測試數(shù)據(jù)工廠類
TemperatureConverter.apxc
public class TemperatureConverter {// Takes a Fahrenheit temperature and returns the Celsius equivalent.public static Decimal FahrenheitToCelsius(Decimal fh) {Decimal cs = (fh - 32) * 5/9;return cs.setScale(2);} }?TemperatureConverterTest.apxc
@isTest private class TemperatureConverterTest {@isTest static void testWarmTemp() {Decimal celsius = TemperatureConverter.FahrenheitToCelsius(70);System.assertEquals(21.11,celsius);}@isTest static void testFreezingPoint() {Decimal celsius = TemperatureConverter.FahrenheitToCelsius(32);System.assertEquals(0,celsius);}@isTest static void testBoilingPoint() {Decimal celsius = TemperatureConverter.FahrenheitToCelsius(212); System.assertEquals(100,celsius,'Boiling point temperature is not expected.');} @isTest static void testNegativeTemp() {Decimal celsius = TemperatureConverter.FahrenheitToCelsius(-10);System.assertEquals(-23.33,celsius);}}默認(rèn)情況下,Apex測試無權(quán)訪問組織中的現(xiàn)有數(shù)據(jù),除了訪問設(shè)置和元數(shù)據(jù)對象(例如用戶或配置文件對象)外
Create a unit test for a simple Apex class
VerifyDate.apxc
public class VerifyDate {public static Date CheckDates(Date date1, Date date2) {if(DateWithin30Days(date1,date2)) {return date2;} else {return SetEndOfMonthDate(date1);}}private static Boolean DateWithin30Days(Date date1, Date date2) {if( date2 < date1) { return false; }Date date30Days = date1.addDays(30); //create a date 30 days away from date1if( date2 >= date30Days ) { return false; }else { return true; }}private static Date SetEndOfMonthDate(Date date1) {Integer totalDays = Date.daysInMonth(date1.year(), date1.month());Date lastDay = Date.newInstance(date1.year(), date1.month(), totalDays);return lastDay;} }TestVerifyDate.apxc
@isTest private class TestVerifyDate {static testMethod void TestVerifyDate() {VerifyDate.CheckDates(System.today(),System.today().addDays(10));VerifyDate.CheckDates(System.today(),System.today().addDays(78));} } 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Get Started with Apex Unit Tests的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Create Use Custom C
- 下一篇: Asynchronous Process