grayhemp / bats-mock

Mocking for Bats
The Unlicense
43 stars 10 forks source link

Possibility to capture mock stdin value? #13

Open polmabri opened 3 years ago

polmabri commented 3 years ago

Hey,

first of all: thanks for providing this library - it simplifies script testing a lot!

I tried the TDD approach in a script-heavy project and found it quite hard to test piped commands:

...
envsubst < "${ARG_SOURCE_PATH}/shared/kind/kind.yaml" | kind create cluster --config -
...

In this example i pipe a yaml config file to the kind command.

When mocking the kind command it is possible to get the args with mock_get_call_args, but is there a possibility to get the piped config value (stdin) too?

Maybe we could capture stdin in your generated mock file and provide a function mock_get_call_stdin - what do u think?

grayhemp commented 3 years ago

@polmabri I think it's a great idea and definitely what the tool is currently missing. Should be quite simple in terms of implementation as well.