久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

spyOn 找不到用于監視 start() 的對象

spyOn could not find an object to spy upon for start()(spyOn 找不到用于監視 start() 的對象)
本文介紹了spyOn 找不到用于監視 start() 的對象的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

限時送ChatGPT賬號..

我正在使用 angular-cli 測試框架.

I am using angular-cli testing framework.

在我的組件中,我使用了ng2-slim-loading-bar"節點模塊.

inside my component , I have used 'ng2-slim-loading-bar' node module.

submit(){
    this._slimLoadingBarService.start(() => {
    });
    //method operations
}

現在當我測試這個組件時,我已經將 spyOn 這個服務應用為:

Now when I am testing this component, I have applied spyOn this service as :

beforeEach(() => {
    let slimLoadingBarService=new SlimLoadingBarService();
    demoComponent = new DemoComponent(slimLoadingBarService);
    TestBed.configureTestingModule({
        declarations: [
            DemoComponent
        ],
        providers: [
            { provide: SlimLoadingBarService, useClass: SlimLoadingBarService}
        ],
        imports: [
            SharedModule
        ]
    });
});
it('should pass data to servie', () => {
    spyOn(slimLoadingBarService,'start').and.callThrough();
   //testing code,if I remove the above service from my component, test runs fine
});

但它不起作用.

它拋出以下錯誤:

spyOn 無法為 start() 找到要監視的對象

spyOn could not find an object to spy upon for start()

推薦答案

使用 let 聲明 slimLoadingBarService,您將其范圍限制為 beforeEach 回調范圍.用 var 聲明它,或者更好的是,在正確的 describe() 塊之后聲明它,并在 beforeEach 回調函數中設置它的內容:

Declaring slimLoadingBarService with let, you are constraining its scope to the beforeEach callback scope. Declare it with var, or better, declare it after the proper describe() block and set its content within beforeEach callback function:

describe("some describe statement" , function(){
    let slimLoadingBarService = null;

    beforeEach( () => {
        slimLoadingBarService=new SlimLoadingBarService();

    });

    it('should pass data to service', () => {
        spyOn(slimLoadingBarService,'start').and.callThrough();
       //testing code,if I remove the above service from my component, test runs fine
    });
});

這篇關于spyOn 找不到用于監視 start() 的對象的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How can I get my jasmine tests fixtures to load before the javascript considers the document to be quot;readyquot;?(在 javascript 認為文檔“準備好之前,如何讓我的 jasmine 測試裝置加載?) - IT屋-程序員軟件開發技術
What do jasmine runs and waitsFor actually do?(jasmine 運行和等待實際上是做什么的?)
How to provide mock files to change event of lt;input type=#39;file#39;gt; for unit testing(如何提供模擬文件來更改 lt;input type=filegt; 的事件用于單元測試)
How to unit test a chained method using Jasmine(如何使用 Jasmine 對鏈式方法進行單元測試)
How do I inject $rootScope into an AngularJS unit test?(如何將 $rootScope 注入 AngularJS 單元測試?)
Jasmine - How to spy on a function call within a function?(Jasmine - 如何監視函數中的函數調用?)
主站蜘蛛池模板: 四虎永久免费黄色影片 | 亚洲成人第一页 | 精品国产一区二区三区久久久四川 | 亚洲一区电影 | 在线观看午夜视频 | 成人免费在线播放视频 | 正在播放一区二区 | 国产 日韩 欧美 制服 另类 | 91久久国产综合久久 | 欧美精品在线播放 | 精品国产欧美 | 亚洲国产欧美在线 | 亚洲欧洲在线观看视频 | 性高湖久久久久久久久 | 亚洲精品888 | 欧美一级淫片007 | 欧美成人精品激情在线观看 | 午夜精品视频 | 日韩毛片播放 | 91se在线| 日韩在线免费视频 | 一区二区三区中文字幕 | 欧美激情一区二区 | 久久久免费电影 | 男人的天堂在线视频 | 日韩爱爱网 | 亚洲精品资源 | 午夜天堂精品久久久久 | 欧美成人精品一区二区男人看 | 欧美日韩a | 成人a网 | 欧美成人免费在线视频 | 欧美精品在线一区 | 亚洲91视频 | 亚洲精品1区 | 午夜激情免费 | 自拍偷拍第一页 | 亚洲免费一区二区 | h视频在线观看免费 | 黄色在线观看网址 | 米奇7777狠狠狠狠视频 |