一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

SAP Spartacus Definition of Done

 汪子熙 2021-06-29

SAP Spartacus Definition of Done

Coding guidelines

Spartacus 團(tuán)隊(duì)采用了以下一組規(guī)則來保持 Spartacus 代碼的可讀性和可維護(hù)性。 作為貢獻(xiàn)者,我們要求您遵守這些規(guī)則(即使您發(fā)現(xiàn)它們?cè)谀程幈贿`反)。 當(dāng)文件始終不遵循這些規(guī)則,并且遵守這些規(guī)則會(huì)使代碼變得更糟時(shí),請(qǐng)遵循本地風(fēng)格。

TL;DR

您可以運(yùn)行位于項(xiàng)目根目錄的 build.sh 腳本。 它將運(yùn)行下面提到的大部分檢查或規(guī)則,例如 linting 和 prettier 檢查、運(yùn)行單元測試和端到端測試等。

Linting

Linting

We use TSLint to analyze and improve our typescript code.

You can run the following command to lint your code:

yarn lint

We also encourage you to use the TSLint plugin in VS Code.

Coding Format

我們使用 Prettier 來格式化我們的代碼(并使其更漂亮)。

要檢查是否所有文件都經(jīng)過美化,請(qǐng)運(yùn)行以下命令:

yarn prettier

要格式化和美化您的代碼庫,請(qǐng)運(yùn)行以下命令:

yarn prettier:fix

我們還鼓勵(lì)使用 Prettier VS Code 插件。 有關(guān)更多信息,請(qǐng)參閱 Spartacus 的開發(fā)工具。

SCSS is Preprocessed (node-sass)

We use Sass for all of our CSS, which then is converted to CSS using node-sass.

Use the following command to preprocess the Sass in projects/storefrontstyles

yarn sass

單元測試

Spartacus 代碼需要單元測試。 確保新功能或錯(cuò)誤具有單元測試,并確保它們通過。

運(yùn)行以下命令以運(yùn)行庫的單元測試:

yarn test [project]
yarn test storefrontlib

當(dāng)您運(yùn)行測試時(shí),Chrome 會(huì)打開,您可以看到測試的進(jìn)度以及詳細(xì)信息,包括測試是否通過。

單元測試代碼覆蓋率

Please ensure that unit test coverage is >= 80% for everything, and >=60% for branches.

To get the test coverage report, run the following commands:

yarn test [project] --code-coverage
yarn test storefrontlib --code-coverage

Alternatively, you can run the following commands:

yarn test [project] --code-coverage
yarn test:core:lib

The coverage report can be found in ./coverage/index.html.

端到端測試

Spartacus 中的所有新功能都需要使用 Cypress 編寫的端到端測試。 請(qǐng)確保新功能具有端到端測試,并且它們正在通過。

在適用的情況下,編寫端到端測試以確保您的新功能或更新功能萬無一失。如果編寫端到端測試有意義,那么最低要求是編寫基本的 UI 端到端測試。您還可以考慮使用用戶流編寫 UI 端到端測試,但這是可選的。

必須審查、更新或重用所有新編寫的端到端測試。 他們還應(yīng)該遵循端到端測試指南。

運(yùn)行以下命令以執(zhí)行端到端測試:

  • yarn e2e:cy:run # smoke tests

  • yarn e2e:cy:run:mobile # mobile tests

  • yarn e2e:cy:run:regression # regression tests

注意:在運(yùn)行端到端測試之前,請(qǐng)確保在 projects/storefrontapp-e2e-cypress 中安裝依賴項(xiàng),并確保應(yīng)用程序正在運(yùn)行。

端到端測試的目標(biāo)是確保您的功能正常工作。 例如,如果您要實(shí)現(xiàn)一個(gè)帶有兩個(gè)按鈕(例如登錄和取消按鈕)的簡單登錄屏幕,您可以編寫以下測試:

  • 使用有效憑據(jù)登錄

  • 嘗試使用無效憑據(jù)登錄

  • 填寫輸入字段,然后單擊取消按鈕。

注意:E2E 測試目前只能在 SAP 內(nèi)運(yùn)行。 我們正在努力向貢獻(xiàn)者公開 E2E 測試。

瀏覽器兼容性

要使新功能滿足完成的定義,至少,必須成功對(duì)新功能進(jìn)行手動(dòng)、快樂路徑測試,并且在以下瀏覽器的最新主要版本中沒有明顯的布局問題:

  • Chrome

  • Firefox

  • Safari

  • Edge

The Library Builds Without Errors

Run the following command to ensure the libraries build without errors:

yarn build:libs

Shell 啟動(dòng)時(shí)沒有錯(cuò)誤

運(yùn)行以下命令以確保 shell 店面應(yīng)用程序啟動(dòng)時(shí)沒有錯(cuò)誤:

yarn start

運(yùn)行命令后,您應(yīng)該看到以下內(nèi)容:

  • webpack終端輸出沒有錯(cuò)誤

  • 顯示主頁時(shí),Chrome 中的 JS 控制臺(tái)沒有錯(cuò)誤。

Shell App 中的新功能 Happy Path

運(yùn)行該功能的冒煙測試,部署在 shell 應(yīng)用程序的庫中。

然后確定新功能是否需要在 shell 應(yīng)用程序或配置文件中進(jìn)行更改。

一些文件和概念存在于 shell 應(yīng)用程序本身中。 問問自己新代碼是否需要更新 shell 應(yīng)用程序或配置文件。

以下更改可能是候選對(duì)象:

  • 添加或更改 route

  • 添加或更改模塊(更改路徑或名稱)

  • 添加組件

  • 添加模塊

  • 改變配置機(jī)制的工作方式。

驗(yàn)證生產(chǎn)構(gòu)建工作

運(yùn)行以下命令以驗(yàn)證生產(chǎn)構(gòu)建是否有效,尤其是提前 (AOT) 編譯器:

yarn build:libs
yarn start

以下是生產(chǎn)構(gòu)建可能失敗的一些原因:

  • 由于 AOT,我們必須顯式指定一些類型,例如函數(shù)返回類型。盡管 TypeScript 不需要它們,但它可以推斷它們。

使用 index.ts 文件(即桶文件)時(shí)要小心。運(yùn)行生產(chǎn)構(gòu)建時(shí),您可能會(huì)在 node/webpack 控制臺(tái)中看到以下錯(cuò)誤:

ERROR in : Encountered undefined provider! Usually this means you have a circular dependencies (might be caused by using 'barrel' index.ts files.

這通常是由導(dǎo)入語句引起的,例如:

import * as fromServices from '../../services'。

相反,您應(yīng)該專門導(dǎo)入每個(gè)類,如以下示例所示:

import { OccCmsService } from "../../services/occ-cms.service";

import { DefaultPageService } from "../../services/default-page.service";

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    欧美一区二区三区五月婷婷| 欧美一二三区高清不卡| 亚洲精品福利视频你懂的| 日本人妻精品中文字幕不卡乱码| 91精品欧美综合在ⅹ| 色婷婷在线视频免费播放| 欧美午夜国产在线观看| 亚洲伊人久久精品国产| 小草少妇视频免费看视频| 日本欧美一区二区三区在线播| 国产精品一区二区有码| 欧美一级黄片免费视频| 中文字幕久久精品亚洲乱码| 亚洲国产精品国自产拍社区| 国产午夜精品在线免费看| 色婷婷在线精品国自产拍| 国产又粗又猛又爽色噜噜| 激情内射亚洲一区二区三区| 一本久道久久综合中文字幕| 中文字日产幕码三区国产| 中文字幕人妻日本一区二区| 日韩免费成人福利在线| 91精品日本在线视频| 日本 一区二区 在线| 国产精品免费自拍视频| 有坂深雪中文字幕亚洲中文 | 精品国产日韩一区三区| 亚洲最大福利在线观看| 一区二区三区日本高清| 日本高清视频在线播放| 日韩夫妻午夜性生活视频| 最新69国产精品视频| 午夜久久久精品国产精品| 黄色日韩欧美在线观看| 日韩免费成人福利在线| 亚洲精品一区二区三区免| 国内欲色一区二区三区| 日韩人妻毛片中文字幕| av中文字幕一区二区三区在线| 黄色美女日本的美女日人| 美国女大兵激情豪放视频播放 |