(function getdata(){
gettrue( true=true );
gettrue( 1==2 );
gettrue( 1==1 );
// write something here to get all three expressions result ?
// console.log( [ all three result ] )
})()
gettrue(){}
此问题可用于测试框架:
test("several test result:" , function(){
assert("test1" , true );
assert("test2" , false )
})
function test(title , fn){
console.log("running: " + title)
fn()
// write something here to get all result of assert
// not more than 2 lines
}
function assert(str, test){
if(test){
console.log(str +" : PASS ")
}else{
console.log(str +" : Fail ")
}
return test
}
答案 0 :(得分:2)
您需要将结果存储在某处。事实上,你把所有三个扔掉了。
数组似乎最简单:
(function getdata() {
var results = [
gettrue( true==true ),
gettrue( 1==2 ),
gettrue( 1==1 )
];
console.log(results);
})()
答案 1 :(得分:0)
我不确定我是否理解这个问题,但你在寻找这样的东西吗?你也不能设置为什么你的意思是真的==是真的吗?
var values = [];
(function getdata(){
values.push(gettrue( true==true ));
values.push(gettrue( 1==2 ));
values.push(gettrue( 1==1 ));
console.log(values);
})();
function gettrue(val){ return val; }
答案 2 :(得分:0)
作业true=true
无效。
gettrue()
没有返回任何内容并且缺少参数。
function gettrue(b) { return !!b; }
(function getdata() {
console.log([
gettrue(true == true),
gettrue(1 == 2),
gettrue(1 == 1),
]);
})();
答案 3 :(得分:0)
作为结论,与几位经验丰富的程序员讨论过。 没有触摸getture或断言功能就无法获得所有评估结果。
var count;
(function getdata(){
count=0
gettrue( true );
gettrue( 1==2 );
gettrue( 1==1 );
gettrue( count==3 )
})()
function gettrue(test ){
console.log( test )
count++
}
对于测试框架,它可能是:
var count;
test("several test result:" , function(){
assert("test1" , true );
assert("test2" , false )
})
function test(title , fn){
console.log("running: " + title)
count = 0 ;
fn()
var expectTotal = fn.toString().match(/assert/)
if(expectTotal)
assert( title , expectTotal.length == count )
}
function assert(str, test){
if(test){
console.log(str +" : PASS ")
}else{
console.log(str +" : FAIL ")
}
count ++
return test
}