2 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
我認(rèn)為這里存在一個(gè)更大的問(wèn)題,所以我會(huì)嘗試將其闡述出來(lái),希望能夠提供一些清晰的信息
能夠使用 ServiceActivator 注釋錯(cuò)誤處理程序方法是框架提供的契約,這意味著它的測(cè)試是我們的責(zé)任。此外,您使用的機(jī)制甚至不是來(lái)自 Spring Cloud Stream,而是來(lái)自 Spring Integration。但無(wú)論如何,我質(zhì)疑應(yīng)用程序是否應(yīng)該測(cè)試它,因?yàn)槟鸁o(wú)法在應(yīng)用程序級(jí)別以任何方式影響它,因?yàn)樗皇悄墓δ?。再說(shuō)一次,這是我的觀點(diǎn),我很想知道你的想法。
在 Spring Cloud Stream 3.0.0.RC1(及后續(xù)版本)中,我們實(shí)際上已經(jīng)棄用了
spring-cloud-stream-test-support
Gary提到的新測(cè)試綁定器。其原因記錄在我剛剛提供的鏈接中,但請(qǐng)隨時(shí)跟進(jìn)問(wèn)題。盡管它的用法有相當(dāng)詳細(xì)的記錄,但這里是我們自己使用它的測(cè)試用例之一,供您參考。盡管參考文檔中的示例顯示了基于函數(shù)的消息處理程序,但它的工作方式與基于注釋的消息處理程序(這就是您正在使用的)相同。說(shuō)到基于注釋的編程模型,請(qǐng)參閱我們剛剛發(fā)布的以下博客(查找更多內(nèi)容,因?yàn)樗鼈冋诠ぷ髦校渲形覀冴U述了為什么我們要放棄基于注釋的編程模型,我認(rèn)為您也應(yīng)該開(kāi)始考慮更改您的代碼。畢竟,所有更改幾乎相當(dāng)于刪除所有注釋并稍微更改消息處理程序方法的簽名以表示為函數(shù) bean
https://spring.io/blog/2019/10/14/spring-cloud-stream-demystified-and-simplified
https://spring.io/blog/2019/10/17/spring-cloud-stream-functional-and-reactive
https://spring.io/blog/2019/10/25/spring-cloud-stream-and-spring-integration
我之所以這么說(shuō)的原因有很多,但是您上面的代碼和您表達(dá)的擔(dān)憂再次提醒我為什么我們要放棄這種編程模型。
我將在這里停下來(lái),因?yàn)槲蚁嘈胚@里有很多東西需要消化,但鑒于我剛才所說(shuō)的內(nèi)容,請(qǐng)隨意跟進(jìn)更尖銳的問(wèn)題。

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
spring-cloud-stream-test 支持非?;镜臏y(cè)試綁定器;它不具備真正活頁(yè)夾的所有功能。
添加回答
舉報(bào)