调用wc程序linux,对Linux 之 WC命令进行测试【要求实现自动化测试】

wc命令是linux中自带命令,这里,我们假设这个命令是开发人员实现的一个程序。

这个程序在执行时,有如下四种执行情况

wc–c文件或者目录

wc–C文件或者目录

wc--help文件或者目录

wc--version文件或者目录

********************************************

【解决答案】

前期准备:

mv /etc/inittab /root/inittab.bak

cd /root

wc -c inittab>Case_001.res

wc -C inittab 2>Case_002.res

wc --help inittab>Case_003.res

wc --version inittab>Case_004.res

这样我们就准备了预期结果

*******************

准备要读取的测试用例文件TestCase.file

Case_ID         Option         directory

Case_001        -c             /root/inittab.bak

Case_002        -C             /root/inittab.bak

Case_003        --help         /root/inittab.bak

Case_004        --version      /root/inittab.bak

**************************************

编写的测试脚本如下:

【main.sh】

1  #!/bin/sh

2  . ./myGetResult.sh

3  . ./myCallCmd.sh

4  tc_file=$1

5  [ -s $tc_file ]

6  if [ $? -eq 0 ];then

7    lineNO=0

8    while read case_id option directory

9    do

10      lineNO=`expr $lineNO + 1`

11      if [ "$lineNO" -gt 1 ];then

12         CallCmd $case_id $option $directory;

13         ret=$?

14         if [ $ret -eq 0 ];then

15            GetResult $case_id 0

16         else

17            GetResult $case_id 1

18         fi

19      else

20         continue

21      fi

22    done

23  else

24    echo "The file you enter is empty!"

25    exit 1

26  fi

【myCallCmd】

1  #!/bin/sh

2  CallCmd()

3  {

4    case_id=$1

5    ption=$2

6    directory=$3

7    wc $option $directory>$case_id.out 2>$case_id.err

8    return $?

9  }

【myGetResult】

1  #!/bin/sh

2  GetResult()

3  {

4    case_id=$1

5    isnormal=$2

6    if [ $isnormal -eq 0 ];then

7       diff $case_id.out $case_id.res

8    else

9       diff $case_id.err $case_id.res

10    fi

11    ret=$?

12    if [ $ret -eq 0 ];then

13       echo "$1---->pass"

14    else

15       echo "$1---->fail"

16    fi

17  }

*******************************

执行结果./main.sh TestCase.file

Case_001---->pass

Case_002---->pass

Case_003---->pass

Case_004---->pass

因为我们准备的预期结果是正确的,

而且实际结果也是正确的[因为开发的WC是正确的]

所以都pass。

注意diff命令:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值