日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SAP Spartacus Definition of Done

發布時間:2023/12/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP Spartacus Definition of Done 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SAP Spartacus Definition of Done

Coding guidelines

Spartacus 團隊采用了以下一組規則來保持 Spartacus 代碼的可讀性和可維護性。 作為貢獻者,我們要求您遵守這些規則(即使您發現它們在某處被違反)。 當文件始終不遵循這些規則,并且遵守這些規則會使代碼變得更糟時,請遵循本地風格。

TL;DR

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

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 來格式化我們的代碼(并使其更漂亮)。

要檢查是否所有文件都經過美化,請運行以下命令:

yarn prettier

要格式化和美化您的代碼庫,請運行以下命令:

yarn prettier:fix

我們還鼓勵使用 Prettier VS Code 插件。 有關更多信息,請參閱 Spartacus 的開發工具。

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 代碼需要單元測試。 確保新功能或錯誤具有單元測試,并確保它們通過。

運行以下命令以運行庫的單元測試:

yarn test [project]

yarn test storefrontlib

當您運行測試時,Chrome 會打開,您可以看到測試的進度以及詳細信息,包括測試是否通過。

單元測試代碼覆蓋率

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 編寫的端到端測試。 請確保新功能具有端到端測試,并且它們正在通過。

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

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

運行以下命令以執行端到端測試:

  • yarn e2e:cy:run # smoke tests

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

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

注意:在運行端到端測試之前,請確保在 projects/storefrontapp-e2e-cypress 中安裝依賴項,并確保應用程序正在運行。

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

  • 使用有效憑據登錄

  • 嘗試使用無效憑據登錄

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

注意:E2E 測試目前只能在 SAP 內運行。 我們正在努力向貢獻者公開 E2E 測試。

瀏覽器兼容性

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

  • Chrome

  • Firefox

  • Safari

  • Edge

The Library Builds Without Errors

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

yarn build:libs

Shell 啟動時沒有錯誤

運行以下命令以確保 shell 店面應用程序啟動時沒有錯誤:

yarn start

運行命令后,您應該看到以下內容:

  • webpack終端輸出沒有錯誤

  • 顯示主頁時,Chrome 中的 JS 控制臺沒有錯誤。

Shell App 中的新功能 Happy Path

運行該功能的冒煙測試,部署在 shell 應用程序的庫中。

然后確定新功能是否需要在 shell 應用程序或配置文件中進行更改。

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

以下更改可能是候選對象:

  • 添加或更改 route

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

  • 添加組件

  • 添加模塊

  • 改變配置機制的工作方式。

驗證生產構建工作

運行以下命令以驗證生產構建是否有效,尤其是提前 (AOT) 編譯器:

yarn build:libs

yarn start

以下是生產構建可能失敗的一些原因:

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

使用 index.ts 文件(即桶文件)時要小心。運行生產構建時,您可能會在 node/webpack 控制臺中看到以下錯誤:

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

這通常是由導入語句引起的,例如:

import * as fromServices from ‘…/…/services’。

相反,您應該專門導入每個類,如以下示例所示:

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

總結

以上是生活随笔為你收集整理的SAP Spartacus Definition of Done的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。