Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单元测试调用装载分区的bash脚本_Bash_Unit Testing_Mocking_Shunit2 - Fatal编程技术网

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

单元测试调用装载分区的bash脚本,bash,unit-testing,mocking,shunit2,Bash,Unit Testing,Mocking,Shunit2,我有一个bash脚本,它调用linuxmount 我想对脚本进行单元测试。我目前正在使用 我尝试的一件事是创建一个文件mount,并尝试使用这个文件根据我想要测试的内容响应0或-1或+1 它显然不起作用:) 有没有办法让它发挥作用?有什么建议吗?我将通过以下方式为mount命令创建一个模拟: mount() { return $DESIRED_MOUNT_RETURN_CODE } setUp() { export DESIRED_MOUNT_RETURN_CODE=0 # defau

我有一个bash脚本,它调用linux
mount

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

我尝试的一件事是创建一个文件
mount
,并尝试使用这个文件根据我想要测试的内容响应0或-1或+1

它显然不起作用:)


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

我将通过以下方式为mount命令创建一个模拟:

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

我将通过以下方式为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

哇!甚至都不知道shell有一个单元测试框架。对不起,我正在对所有脚本进行单元测试。我们可能需要有问题的代码来提出任何建议……我已经解决了这个问题。周一我一到办公桌,就会把答案贴在这里。哇。甚至都不知道shell有一个单元测试框架。对不起,我正在对所有脚本进行单元测试。我们可能需要有问题的代码来提出任何建议……我已经解决了这个问题。周一我一到办公桌,就会把答案贴在这里。