2017-04-19 36 views
1

我已經繼承了一個包含多個JavaScript文件的項目。他們每個人都有一堆功能;這些文件是以AMD風格定義的。如何自動從JS模塊生成單元測試?

例如:

math.js

define([], function() { 

    return { 

    func1: function (a, b) { 
     return a + b; 
    }, 

    func2: function (c, d) { 
     return c + d; 
    }, 

    }; 
}); 

我想生成的tests文件夾中的新文件的名稱(math.js)將包含在tdd風格的單元測試的樣板代碼爲intern框架。

我已經使用了一個Yeoman生成器intern-generator,該生成器將執行腳手架並生成帶有指定名稱和路徑的測試文件,但是,這不會讓我創建引用JS文件中的函數的單元測試。

所以,對於math.js源文件,我想創建一個測試文件(自動):

define(function (require) { 
    var tdd = require('intern!tdd'); 
    var assert = require('intern/chai!assert'); 
    var math = require('src/app/math'); 

    tdd.suite('Suite name', function() { 

    tdd.test1('Test foo', function() { 
     math.func1('breaks'); 
    }); 

    tdd.test('Test bar', function() { 
     math.func2('breaks'); 

    }); 
    }); 
}); 

這樣一來,我可以與所有的單元測試開始文件預創建的,我知道,我所有的單元測試都會初步破解,並且我會讓它們一個接一個地通過。另外,通過這種方式,我可以確定我從源腳本文件中的所有功能都進入了測試。

當然,我想爲我的所有源代碼.js文件生成這些測試.js文件。是否有任何發電機或圖書館/腳本,讓我這樣做?

回答

0

如果您使用的是angularJS,那麼您可以使用Karma-Jasmine來測試您的項目。或者如果你只是玩弄你的代碼,你可以嘗試webstorm獲得更多測試幫助(單元測試和端到端測試)。