单元测试调用mount分区的bash脚本

时间:2016-02-25 13:57:02

标签: bash unit-testing mocking shunit2

我有一个调用linux mount的bash脚本。

我想对该脚本进行单元测试。我目前正在使用shunit2

我尝试过的一件事是创建一个文件mount并试图使用这个文件来响应0或-1或+1,具体取决于我想要测试的内容。

显然没有效果:))

有没有办法让它发挥作用?有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我会以这种方式为mount命令创建一个mock:

mount() {
  return $DESIRED_MOUNT_RETURN_CODE
}

setUp() {
  export DESIRED_MOUNT_RETURN_CODE=0 # default
}

testMountSucceeds() {
  . $script_under_test > /dev/null
  ...
}

testMountFails() {
  export DESIRED_MOUNT_RETURN_CODE=1
  . $script_under_test > /dev/null
  ...
}

. shunit2