test.js 1.37 KB
var readTextFile = require('read-text-file');
const path = require('path');


var dir = path.parse(__dirname);

try{
  var testCaseStr = readTextFile.readSync('./unitTest/testCase.txt').trim("\r\n").split("\r\n");
  var testCase = [];
  // console.log(testCaseStr);
  for(var i=0;i<testCaseStr.length;i++)
    testCase.push(JSON.parse(testCaseStr[i])); 


    describe('unitTest app',function() {      
      
      for(var i=0;i<testCase.length;i++)
      {
        
        var func = require(dir.dir+path.sep+testCase[i].from);       
        var expect = testCase[i].expect;
        var comment = testCase[i].comment!=""?" => "+testCase[i].comment:testCase[i].comment;
        
        testCase[i].input = getTrueData(testCase[i].input);

        var cal = '';
        if(func[testCase[i].function])
          cal = func[testCase[i].function](...testCase[i].input);

        
        it(testCase[i].function+comment ,function(done) {
          
          if (expect == cal) {
            done();
          } else {
            done(new Error("fail"));
          }
      
        });
      }
    });
}
catch(err) {
  // console.log(err);
}

function getTrueData(input)
{

  // console.log(input);
  for(var j=0;j<input.length;j++)
  {
    try
    {
      input[j] = JSON.parse(input[j]);
    }catch(err) {
      // console.log(err);
    }
    
    // console.log(input[j]);
  }

  return input;
}