all files / dui/ test.js

100% Statements 23/23
100% Branches 2/2
100% Functions 5/5
100% Lines 23/23
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66                                    14×                                                  
/**
 * 自动化测试工具
 *
 * @file 负责运行test目录中的测试用例,外部依赖istanbul
 * @author Brian Li
 * @mail lbxxlht@163.com
 */
/* eslint-disable */
/* istanbul ignore next */
 
 
var config = require('./test/config.js');
var loadTest = require('./test/loadTest');
var functionalTest = require('./test/functionalTest');
var pressureTest = require('./test/pressureTest');
var Reporter = require('./test/reporter');
var reporter = new Reporter();
 
 
// 加载测试
reporter.addReport({
    title: 'Loading Test Report',
    datasource: loadTest('widget').concat(loadTest('plugin')),
    fields: [
        {tip: 'Module', field: 'path', width: 400},
        {tip: 'Loaded', width: 100, content: function (item) {return '<div>' + item.loaded + '</div>';}}
    ]
});
 
 
// 功能测试
var functionalTestData = {
    title: 'Functional Test Report',
    fields: [
        {tip: 'Project', width: 200, field: 'project'},
        {tip: 'Time (ms)', width:100, content: function (item) {return '<div>' + item.time + '</div>';}},
        {tip: 'Pass', width:80, content: function (item) {return '<div style="color:green;">' + item.pass + '</div>';}},
        {tip: 'Reject', width:80, content: function (item) {
            return '<div style="color:' + (item.reject ? 'red' : 'green') + '">' + item.reject + '</div>';
        }},
        {tip: 'Reject Cases', width: 500, content: function (item) {return item.cases.join(',');}}
    ],
    datasource: []
};
var totalResult = {project: '<div style="text-align:right;">Total:</div>', pass: 0, time: 0, reject: 0, cases: []};
for (var key in config.projects) {
    var result = functionalTest(key, config.projects[key]);
    functionalTestData.datasource.push(result);
    totalResult.time += result.time;
    totalResult.pass += result.pass;
    totalResult.reject += result.reject;
}
functionalTestData.datasource.push(totalResult);
reporter.addReport(functionalTestData);
 
 
// 压力测试//
/* row, column, length, count */
// reporter.addReport(pressureTest(config.pressure, 'column', 'row'));
// reporter.addReport(pressureTest(config.pressure, 'length', 'row'));
// reporter.addReport(pressureTest(config.pressure, 'count', 'row'));
 
 
// 输出报告
reporter.output('./coverage');