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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

使用脚手架应用做单元测试

發布時間:2023/12/19 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用脚手架应用做单元测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為后臺service比較復雜,需要三個不同的實例協同工作,所以之前Oliver開發了Scaffolding App這個Angular前端,目的是方便我們隨時測試三實例協同是否仍然正常。

我想的是把這個Angular前端當成一個單元測試工具來用,每次我們改了后臺之后,都把這個Angular UI打開跑一跑。

我看到你之前有個提交把client.write(data) 注釋了,換成client.emit(data[0], data[1]);

我想你這個改動肯定是for昨天串QR code的scenario的,但是這樣一改,之前的unit test就fail了。

你用emit(data[0], data[1])這種寫法不太好:

這個函數通過回調方式被調用,你在函數體內作為被調用者,無法知道data的數據類型,而你直接硬編碼成data[0], data[1]. 這就告訴了代碼的閱讀者:
data是一個至少包含了兩個元素的數組
data是一個至少包含了兩個字符的字符串

當運行時data的數據類型不滿足以上兩個條件時,代碼就會報異常,退出。
這里無論是client.write,還是client.emit, 我們都可以把它看成是廣義的發布者模式,會有socket的另一端負責接收。
這種模式的最佳實踐是,發布者不關心發布數據的格式,只是簡單粗暴的把數據推送出去,具體不同的處理由接收方負責,比如接收方的偽代碼可能是這樣的:

If( typeof(data) === “String”)按照字符串處理 If( typeof(data) === “Array”)按照數據處理 If( typeof(data) === “Object”)按照對象處理

而你現在發送端的data[0], data[1], 從design上說相當于把這種處理從接收端移到發送端了。

為了不影響我們QR code scan的功能,我只是在你提交基礎上簡單加了一行注釋,注明client.write(data)的必要性。

麻煩你有時間的時候,琢磨下如何改動現在的代碼,使得單元測試和QR code scan的流程能同時工作,謝謝。這也能提高你編程的水平。

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

總結

以上是生活随笔為你收集整理的使用脚手架应用做单元测试的全部內容,希望文章能夠幫你解決所遇到的問題。

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