我正在nodejs app应用程序中实现mocha测试,我又犯了一个错误.
而不是写作 it('should ...' , function(done){}); I wrote if('should ...
if ('should implment rest style "destroy" method', function(done){ request(app) .del('/restLike/41') .expect(200, 'Rest Like Destroy: 41
') .end(done); });
愚蠢的错误,如果不是它.但为什么它不会失败,为什么节点v8编译它?
这是有效的JavaScript!
它是一个if
语句,其条件是逗号运算符的表达式,其主体是空语句(;
).
这里定义了逗号运算符.这里逗号运算符的左侧操作数是一个字符串,右侧操作数是一个函数表达式.逗号运算符表达式(函数表达式)的结果恰好是真实的,并且空体被执行但什么都不做.
它可能看起来很奇怪,但它解析 - 并执行 - 就好了.