Add test for build and runner errors

This commit is contained in:
Max Claus Nunes 2018-07-24 22:05:10 -03:00
parent a81558c850
commit 15d3ba41d3
2 changed files with 34 additions and 1 deletions

View File

@ -39,6 +39,35 @@ func TestGaperSetupConfigNoParams(t *testing.T) {
assert.Equal(t, args.WatchItems, []string{"."}) assert.Equal(t, args.WatchItems, []string{"."})
} }
func TestGaperBuildError(t *testing.T) {
mockBuilder := new(testdata.MockBuilder)
mockBuilder.On("Build").Return(errors.New("build-error"))
mockRunner := new(testdata.MockRunner)
mockWatcher := new(testdata.MockWacther)
cfg := &Config{}
chOSSiginal := make(chan os.Signal, 2)
err := run(cfg, chOSSiginal, mockBuilder, mockRunner, mockWatcher)
assert.NotNil(t, err, "build error")
assert.Equal(t, "build error: build-error", err.Error())
}
func TestGaperRunError(t *testing.T) {
mockBuilder := new(testdata.MockBuilder)
mockBuilder.On("Build").Return(nil)
mockRunner := new(testdata.MockRunner)
mockRunner.On("Run").Return(nil, errors.New("runner-error"))
mockWatcher := new(testdata.MockWacther)
cfg := &Config{}
chOSSiginal := make(chan os.Signal, 2)
err := run(cfg, chOSSiginal, mockBuilder, mockRunner, mockWatcher)
assert.NotNil(t, err, "runner error")
assert.Equal(t, "run error: runner-error", err.Error())
}
func TestGaperWatcherError(t *testing.T) { func TestGaperWatcherError(t *testing.T) {
mockBuilder := new(testdata.MockBuilder) mockBuilder := new(testdata.MockBuilder)
mockBuilder.On("Build").Return(nil) mockBuilder.On("Build").Return(nil)

6
testdata/mocks.go vendored
View File

@ -31,8 +31,12 @@ type MockRunner struct {
// Run ... // Run ...
func (m *MockRunner) Run() (*exec.Cmd, error) { func (m *MockRunner) Run() (*exec.Cmd, error) {
args := m.Called() args := m.Called()
return args.Get(0).(*exec.Cmd), args.Error(1) cmdArg := args.Get(0)
if cmdArg == nil {
return nil, args.Error(1)
}
return cmdArg.(*exec.Cmd), args.Error(1)
} }
// Kill ... // Kill ...