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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

SAP 电商云 Spartacus UI CheckoutDeliveryService 的单元测试设计

發布時間:2023/12/19 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP 电商云 Spartacus UI CheckoutDeliveryService 的单元测试设计 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件路徑:feature-libs\checkout\core\facade\checkout-delivery.service.spec.ts

新增添的方法:getSetDeliveryModeInProcess

這個方法返回的狀態標志位有三個依賴:

  • ActiveCartService
  • checkoutService
  • getSetDeliveryModeProcess

當至少有一個標志位為 true 時,結果肯定為 true.

下面是幾種典型的測試用例的設計。

(1) 當有一個正在進行中的 HTTP put 請求來設置 delivery mode 時, getSetDeliveryModeInProcess 方法應該返回 true.

我們在 264行代碼手動調用 setDeliveryMode,這會觸發一個 HTTP put 請求:

(2) 當 cart 沒有達到 stable 狀態時,應該返回 true.

這里我們用 spyOn 方法監控 activeCartService.isStable 方法的調用,并且在其被調用時進行攔截,返回 false.

(3) 同理,攔截 checkoutService.isLoading 方法,返回 true:

(4) 當 setDeliveryMode 觸發的 HTTP put 請求成功執行時,會導致一個名為 CheckoutActions.SetDeliveryModeSuccess 的 action 投遞到 Ngrx store 里。

因為在單元測試代碼里,Cart service 默認為 stable,checkout service 默認為 is not loading,因此只要 HTTP put 執行完畢,該被測試的方法就應該返回 false.

更多Jerry的原創文章,盡在:“汪子熙”:

總結

以上是生活随笔為你收集整理的SAP 电商云 Spartacus UI CheckoutDeliveryService 的单元测试设计的全部內容,希望文章能夠幫你解決所遇到的問題。

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