2014-06-27 59 views
0

我想爲目錄中的每個文件創建一個BATS測試,但我不確定完成此操作的最佳方式是什麼。即使目錄中有許多文件,下面的方法也只會創建一個測試。如何以編程方式添加蝙蝠測試?

#!/usr/bin/env bats 

for i in $(ls) 
do 
    @test "testing $i" { 
    pwd 
    } 
done 

回答

0

要提取ls輸出是不一樣的解決方案連擊會出問題的文件名用空格。

,你可以這樣做下面

shopt -s nullglob 
for file in /dir/* 
do 
    //test command on $file 
done 
shopt -u nullglob 

可以使用find命令也

find /some/directory -maxdepth 1 -type f -exec cmd option {} \; 
0

這個怎麼辦?

#!/usr/bin/env bash 

declare -r BATS=`mktemp` 

trap "rm -f $BATS" EXIT 

for i in $(ls) 
do 

cat > $BATS <<EOF 
@test "testing $i" { 
    pwd 
} 
EOF 

done 

bats $BATS