1
我想單元測試使用自定義管道的組件。我想爲我的測試提供transform
方法的假實施。測試組件時覆蓋管道
我發現有可能override組件,模塊,管道等,但我不知道如何覆蓋組件的行爲(實現)。
我曾試圖向我提供定製類作爲管的替代品,它不工作:
TestBed
.configureTestingModule({declarations: [MyPipe]})
.overridePipe(MDatePipe, {set: MyFakePipe})
我也發現了類似的問題對SO How to mock Pipe when testing Component,但建議的解決辦法是建立完整的新管提供給測試模塊的declarations
,這在我看來有點過分。
如果overridePipe
不會讓我覆蓋transform
的實現有可能得到創建的MyPipe
類的實例和spyOn
它呢?
var pipe = TestBed.get(MyPipe);
也沒有工作。
還有任何想法如何做到這一點? =) –
@SharikovVladislav,基本上就是這樣。我的管道使用服務,我僞造服務來定義管道的行爲。在我的研究中,另一種解決方案是在測試中創建一個假冒的管道,並用相同的名稱進行註冊。這也可能會奏效,但需要更多的工作。 –
我試過這個:'在我的研究過程中的另一種解決方案是在測試中創建一個假冒的管道,並用相同的名稱進行註冊。這是行不通的。 –