簡體   English   中英

在sails.js中模擬/存根全局變量

[英]Mocking/Stubbing globals in sails.js

在Sails.js中,我們圍繞日志記錄功能創建了一個包裝器,以便安全審核日志具有相同的格式和信息等。

我想對依次調用sails.log.info的包裝器進行單元測試。 如何模擬/存根全局sails.log.info,然后驗證它是否被調用? 我用proxyquire之前重新連接,但他們在磕碰出了該模塊的情況下required到文件。

它是JavaScript,因此您可以簡單地覆蓋它,然后返回原始方法

var originalLogFunction = sails.log.info;
var actualArgs;
sails.log.info = function(arg1, arg2){
    actualArgs = { arg1: arg1, arg2: arg2 };
}

// call your method that you test here

sails.log.info = originalLogFunction;

// assert your actualArgs have the correct args

您只能計算該方法被調用的次數

您可以查看MoqJs庫。 這是一個基於Moq for C#思想的JavaScript模擬庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM