LTS

LTS гэта абрэвіятура для Служба маланкавага тэсціравання

Структура тэсціравання, прадастаўленая Salesforce што дазваляе распрацоўшчыкам пісаць і выконваць тэсты JavaScript для кампанентаў Lightning, вэб-кампанентаў Lightning і іншых налад на аснове JavaScript на платформе Salesforce. LTS ліквідуе разрыў паміж сучаснымі метадамі тэсціравання вэб-распрацоўкі і унікальнай архітэктурай Salesforce, забяспечваючы стандартызаваны спосаб тэсціравання кліенцкага кода Lightning.

Асноўныя функцыянальныя магчымасці

LTS аб'ядноўвае папулярныя платформы тэсціравання JavaScript, такія як Jest і Jasmine, з платформай Salesforce. Ён забяспечвае праграму выканання тэстаў, якая выконвае гэтыя тэсты непасрэдна ў кантэксце платформы Lightning, гарантуючы, што тэсты дакладна адлюстроўваюць, як код будзе паводзіць сябе ў рэальным асяроддзі Salesforce. Сэрвіс выконвае складаную задачу загрузкі фреймворка Lightning Component і кіравання асяроддзем тэсціравання, што дазваляе распрацоўшчыкам засяродзіцца на напісанні значных тэстаў.

Прыклад рэалізацыі

// Example of an LTS test using Jest
import { createElement } from 'lwc';
import MyComponent from 'c/myComponent';

describe('c-my-component', () => {
    let element;

    beforeEach(() => {
        // Create a fresh instance of the component before each test
        element = createElement('c-my-component', {
            is: MyComponent
        });
        document.body.appendChild(element);
    });

    afterEach(() => {
        // Clean up after each test
        document.body.removeChild(element);
    });

    it('displays the correct initial value', () => {
        // Query the component's internal elements
        const textElement = element.shadowRoot.querySelector('.display-text');
        expect(textElement.textContent).toBe('Initial Value');
    });

    it('updates value when button is clicked', async () => {
        // Simulate user interaction
        const button = element.shadowRoot.querySelector('button');
        button.click();

        // Wait for any asynchronous operations
        await Promise.resolve();

        // Verify the new state
        const textElement = element.shadowRoot.querySelector('.display-text');
        expect(textElement.textContent).toBe('Updated Value');
    });
});

асноўныя характарыстыкі

Налада тэставага асяроддзя

LTS аўтаматычна канфігуруе асяроддзе тэсціравання, уключаючы наладжванне эмуляцыі DOM, кіраванне падзеямі жыццёвага цыкла кампанентаў і апрацоўку ініцыялізацыі фреймворка Lightning. Гэта забяспечвае правядзенне тэстаў у асяроддзі, якое дакладна адпавядае рэальнай платформе Salesforce.

Сумяшчальнасць з рамкамі

Сэрвіс падтрымлівае некалькі фрэймворкаў тэсціравання, што дазваляе распрацоўшчыкам выкарыстоўваць знаёмыя інструменты і шаблоны тэсціравання. Яна ўключае ў сябе ўбудаваную падтрымку для:

  • Jest (рэкамендуецца для Lightning Web Components)
  • Jasmine (падтрымліваецца для кампанентаў Aura)
  • кава мокко

Здзеклівая падтрымка

LTS уключае ўтыліты для высмейвання функцый Salesforce, такіх як:

  • Выклікі метаду Apex
  • Аперацыі Lightning Data Service
  • Навігацыйныя дзеянні
  • Мерапрыемствы платформы

Best Practices

Арганізацыя выпрабаванняў

Тэсты павінны быць арганізаваны так, каб адлюстроўваць структуру кампанентаў, якія яны тэстуюць. Кожны тэставы файл павінен быць сканцэнтраваны на адным кампаненце або модулі з тэставымі прыкладамі, згрупаванымі па функцыях або паводзінах, якія правяраюцца.

Ізаляцыя

Кожны тэст павінен праводзіцца ізалявана, са скідам асяроддзя тэсціравання паміж тэстамі, каб прадухіліць заражэнне крыжаваным тэстам. Хукі beforeEach і afterEach, якія прадстаўляюцца платформай тэсціравання, павінны выкарыстоўвацца для наладжвання і адмены ўмоў тэставання.

Асінхроннае тэставанне

Пры тэставанні аперацый, якія ўключаюць выклікі сервера або UI абнаўленняў, тэсты павінны належным чынам апрацоўваць асінхронныя аперацыі з выкарыстаннем async/await або абяцанняў для забеспячэння дакладных вынікаў.

Недахопы

Будучы магутным, LTS мае некаторыя абмежаванні, пра якія распрацоўшчыкі павінны ведаць:

  1. API браўзера: некаторыя API браўзера могуць не цалкам падтрымлівацца ў тэставым асяроддзі.
  2. Інтэграцыя з платформай: пэўныя функцыі, характэрныя для платформы, могуць запатрабаваць дадатковага здзеку або іх нельга праверыць непасрэдна праз LTS.
  3. Праверка прадукцыйнасці: LTS не прызначаны для праверкі прадукцыйнасці або нагрузачнага тэставання кампанентаў.

Інтэграцыя з працоўным працэсам распрацоўкі

LTS інтэгруецца з сучаснымі інструментамі і практыкамі распрацоўкі:

  1. Інтэрфейс каманднага радка: Тэсты можна запускаць з дапамогай Salesforce CLI Каманды
  2. Бесперапынная інтэграцыя: Тэсты могуць быць аўтаматызаваны як частка канвеераў CI/CD
  3. IDE Інтэграцыя: прамое выкананне тэстаў з асяроддзя распрацоўкі, напрыклад VS Code

Сумяшчальнасць версій

LTS рэгулярна абнаўляецца для падтрымкі новых выпускаў і функцый Salesforce. Распрацоўшчыкі павінны пракансультавацца з нататкамі да выпуску Salesforce, каб даведацца пра канкрэтную інфармацыю аб сумяшчальнасці версій і новыя функцыі ў кожным выпуску.

Артыкулы з тэгам LTS

Паглядзець дадатковыя артыкулы з тэгам LTS

Вярнуцца да пачатку кнопкі
блізка

Выяўлена блакіроўка рэкламы

Мы залежым ад рэкламы і спонсарства, каб падтрымліваць Martech Zone бясплатна. Калі ласка, адключыце блакіроўшчык рэкламы або падтрымайце нас, аформіўшы даступнае гадавое сяброўства без рэкламы (10 долараў ЗША):

Зарэгіструйцеся для атрымання штогадовага сяброўства