[英]how spy a defined variable in node.js
請幫我? 我一直在破壞我的想法,但我不知道我應該如何存根變量? 我錯了嗎? 我應該使用間諜嗎?
我應該如何測試這段代碼
module.exports = async () => {
var variable = 'something';
var taskProcessor = require('taskprocessor');
try {
taskProcessor(variable).then().catch();
//blah blah
//blah blah
//blah blah
//blah blah
} catch (error) {
console.log(err);
}
};
首先,你應該知道什么是 stub 或 spy(我故意排除了 mocks)
我們使用雙精度來控制方法的行為,然后改變測試方向以覆蓋我們測試中的所有路徑。
間諜包裹在 function 周圍,它不會取代它的功能。 但是使用存根,我們可以定義 output:間諜實際上是在你的敵人內部發送一個間諜(在這種情況下是你的代碼:D),以模仿真實實體的行為並為你收集信息!
現在讓我們 go 回到您的問題!
在這種情況下,您可以使用 rewire 模塊。 從它的 git 頁面
rewire 為模塊添加了一個特殊的 setter 和 getter,因此您可以修改它們的行為以進行更好的單元測試。 您可以
- 為其他模塊或全局變量(如進程)注入模擬
- 檢查私有變量
- 覆蓋模塊內的變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.