我正在nodejs应用程序应用程序中实现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, '<h1>Rest Like Destroy: 41</h1>')
.end(done);
});
愚蠢的错误,如果不是它。但为什么它不会失败,为什么节点v8会编译它?
答案 0 :(得分:8)
这是有效的JavaScript!
它是一个if
语句,其条件是一个带逗号运算符的表达式,其主体是空语句(;
)。
定义了逗号运算符here。这里逗号运算符的左侧操作数是一个字符串,右侧操作数是一个函数表达式。逗号运算符表达式(函数表达式)的结果恰好是真实的,空体被执行但什么也没做。
它可能看起来很奇怪,但它解析 - 并执行 - 就好了。