При разработке Salesforce классы-оболочки часто используются для объединения нескольких фрагментов данных в один объект, что упрощает работу и передачу. Тестирование классов-оболочек имеет решающее значение для обеспечения функциональности и целостности ваших приложений Salesforce. В этой статье мы рассмотрим различные методы тестирования классов-оболочек в Salesforce, а также приведем примеры кода.
Методы тестирования классов-оболочек:
- Тестирование конструктора:
- Создать экземпляр объекта класса-оболочки.
- Задайте значения для свойств класса-оболочки.
- Убедитесь, что значения назначены правильно.
// Create an instance of the wrapper class
MyWrapperClass wrapper = new MyWrapperClass();
// Set values for properties
wrapper.setName('John Doe');
wrapper.setAge(30);
// Assert the values
System.assertEquals('John Doe', wrapper.getName());
System.assertEquals(30, wrapper.getAge());
- Тестирование геттеров и сеттеров:
- Задайте значения для свойств класса-оболочки.
- Используйте методы получения для получения значений.
- Подтвердить правильность полученных значений.
// Set values for properties
wrapper.setName('Jane Smith');
wrapper.setAge(25);
// Assert the values
System.assertEquals('Jane Smith', wrapper.getName());
System.assertEquals(25, wrapper.getAge());
- Проверка равенства:
- Создать экземпляры двух объектов класса-оболочки с одинаковыми значениями.
- Утвердить, что оба объекта равны.
// Instantiate two wrapper class objects
MyWrapperClass wrapper1 = new MyWrapperClass('John Doe', 30);
MyWrapperClass wrapper2 = new MyWrapperClass('John Doe', 30);
// Assert equality
System.assertEquals(wrapper1, wrapper2);
- Тестирование сериализации:
- Сериализация объекта класса-оболочки.
- Десериализовать сериализованный объект.
- Утвердить, что десериализованный объект равен исходному объекту.
// Serialize the wrapper class object
String serialized = JSON.serialize(wrapper);
// Deserialize the serialized object
MyWrapperClass deserialized = (MyWrapperClass)JSON.deserialize(serialized, MyWrapperClass.class);
// Assert equality
System.assertEquals(wrapper, deserialized);
- Интеграционное тестирование:
- Создайте тестовые данные в Salesforce.
- Используйте класс-оболочку для взаимодействия с данными.
- Подтвердить ожидаемые результаты.
// Create test data
Account testAccount = new Account(Name = 'Test Account');
insert testAccount;
// Use the wrapper class to interact with the data
MyWrapperClass wrapper = new MyWrapperClass();
wrapper.setAccountId(testAccount.Id);
wrapper.fetchAccountDetails();
// Assert the expected results
System.assertEquals('Test Account', wrapper.getAccountName());