Non-DI approach to the exec.Command mocking

This commit is contained in:
Erin Call
2019-12-05 09:57:59 -08:00
parent 990d1856d8
commit e77f6842b9
3 changed files with 15 additions and 9 deletions

View File

@@ -9,12 +9,18 @@ func TestInstall(t *testing.T) {
ctrl := gomock.NewController(t)
defer ctrl.Finish()
cmd := NewMockcmd(ctrl)
cmd.EXPECT().
mCmd := NewMockcmd(ctrl)
originalCommand := Command
Command = func() cmd { return mCmd }
defer func() { Command = originalCommand }()
mCmd.EXPECT().
Path(HELM_BIN)
mCmd.EXPECT().
Args(gomock.Eq([]string{"install", "arg1", "arg2"}))
cmd.EXPECT().
mCmd.EXPECT().
Run().
Times(1)
install(cmd, []string{"arg1", "arg2"})
Install("arg1", "arg2")
}