2014-11-05 108 views
1

我在節點上使用了一個表達式框架,每次模塊運行時我都想在測試模塊中更改變量的值(增加或減少)。有沒有辦法知道文件是否已經被執行並保存在內存中,以便下一次文件再次運行時,該值會再次變化?每次模塊執行時我都想增加variableToChange。 這裏是我的代碼:我可以知道一個JavaScript文件是否已被執行?

'use strict'; 

    var util = require('util'); 
    var makeApiCall = require('proc-utils').makeApiCall; 

    var baseUrl = 'http://localhost:' + (require('../../config').port || 3000); 

    var url = { 
     endpoint: '/patients/register', 
     method: 'post' 
    }; 

    var ct = { 
     test: function (data, cb) { 
      var options = { 
       type: 'form', 
       data: data, 
       baseUrl: baseUrl 
      }; 

      makeApiCall(url.endpoint, url.method, options, cb); 
     } 
    }; 

    module.exports = ct; 

    //-- Test Code ---------------------------------------------------------- 
    var variableToChange=0; 
    if (require.main === module) { 
     (function() { 
      var data = { 
       first_name:'John', 
       last_name:'Doe', 
       email:'shnsdfn'+variableToChange+'[email protected]', 
       password:'John1234' 
      }; 

      ct.test(data, console.log); 
     })(); 
    } 
+3

你能添加一些代碼嗎?更多細節? – Hosni 2014-11-05 03:25:37

+0

「運行文件」是什麼意思? – jfriend00 2014-11-05 03:38:36

+0

製作日誌文件如何?並用它來報告/存儲以前的測試結果。 – Hosni 2014-11-05 03:55:54

回答

1

一種解決方案是存儲您在Cookie會話所需的信息:

var cookieParser = require('cookie-parser'); 
var session = require('express-session'); 
express().use(cookieParser()) // include the cookies middleware to parse and manage sessions 
.use(session({secret : 'mysecret'}))//set up the session with minimal config (secret) 
.use(function(req,res,next){ 
    req.session.variableToSave = 0; // initialize variable you want to save 
    next(); // starts next middleware 
}); 

但是,這是用於存儲爲連接到服務器的瀏覽器信息。

其他解決方案是通過將所需的值和其他相關信息附加到日誌文件來維護日誌文件。

+1

Cookie會話用於存儲連接到服務器的每個瀏覽器的一些信息。似乎這不是OP要求的。 – jfriend00 2014-11-05 03:39:57

+0

@ jfriend00你可能是對的,但他可以提供更多信息。 – Hosni 2014-11-05 03:49:04

相關問題