@@ -2,26 +2,35 @@ const v8 = require("v8");
2
2
const { getFileSize } = require ( "./sizeUtil" ) ;
3
3
const { isSameData } = require ( "./isSameData" ) ;
4
4
5
- function withTimeLog ( callback , compare ) {
5
+ function withTimeLog ( fnName , param , compare ) {
6
6
// 记录开始时间
7
7
const startTime = performance . now ( ) ;
8
8
// 获取函数执行前的内存使用情况
9
9
const startHeapStatsArray = v8 . getHeapSpaceStatistics ( )
10
- const callVal = callback ( )
10
+ const callVal = fnName ( param )
11
11
// 获取函数执行后的内存使用情况
12
12
const endHeapStatsArray = v8 . getHeapSpaceStatistics ( )
13
13
// 记录结束时间
14
14
const endTime = performance . now ( ) ;
15
15
const startHeapStats = startHeapStatsArray . reduce ( ( prev , curr ) => prev += curr . space_used_size , 0 )
16
16
const endHeapStats = endHeapStatsArray . reduce ( ( prev , curr ) => prev += curr . space_used_size , 0 )
17
17
18
- console . table ( {
19
- '函数执行结果' : JSON . stringify ( callVal ) ,
20
- '函数执行用时' : Number ( endTime - startTime ) . toFixed ( 4 ) + 'ms' ,
21
- '内存占用' : getFileSize ( endHeapStats - startHeapStats ) ,
22
- [ `预期值${ JSON . stringify ( compare ) } ` ] : isSameData ( callVal , compare ) ? "测试通过!" : "测试未通过!"
18
+ return {
19
+ '测试结果' : isSameData ( callVal , compare ) ? '通过' : '未通过' ,
20
+ '预期结果' : JSON . stringify ( compare ) ,
21
+ '执行结果' : JSON . stringify ( callVal ) ,
22
+ '执行用时' : Number ( endTime - startTime ) . toFixed ( 4 ) + 'ms' ,
23
+ '内存占用' : getFileSize ( endHeapStats - startHeapStats )
24
+ }
25
+ }
26
+
27
+ function showLogs ( fnName , paramArr , compareArr ) {
28
+ let logsItems = [ ]
29
+ paramArr . forEach ( ( param , index ) => {
30
+ const logItem = withTimeLog ( fnName , param , compareArr [ index ] )
31
+ logsItems . push ( logItem )
23
32
} )
24
- console . log ( '--------------------------' )
33
+ console . table ( logsItems )
25
34
}
26
35
27
- module . exports = { withTimeLog } ;
36
+ module . exports = { showLogs } ;
0 commit comments