mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-07-30 03:23:08 +03:00
Write unit tests with the help of afero
Afero is a package that lets you mock out a filesystem with an in-memory filesystem. It allows us to easily create the files required for a given test without worrying about a cleanup step or different tests tripping on eachother when run in parallel. Later on I'll standardise on using afero over the vanilla os package
This commit is contained in:
@ -7,6 +7,7 @@ import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
"github.com/jesseduffield/lazygit/pkg/i18n"
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/spf13/afero"
|
||||
)
|
||||
|
||||
// NewDummyLog creates a new dummy Log for testing
|
||||
@ -22,6 +23,7 @@ func NewDummyCommon() *common.Common {
|
||||
Log: NewDummyLog(),
|
||||
Tr: &tr,
|
||||
UserConfig: config.GetDefaultConfig(),
|
||||
Fs: afero.NewOsFs(),
|
||||
}
|
||||
}
|
||||
|
||||
@ -31,5 +33,8 @@ func NewDummyCommonWithUserConfig(userConfig *config.UserConfig) *common.Common
|
||||
Log: NewDummyLog(),
|
||||
Tr: &tr,
|
||||
UserConfig: userConfig,
|
||||
// TODO: remove dependency on actual filesystem in tests and switch to using
|
||||
// in-memory for everything
|
||||
Fs: afero.NewOsFs(),
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user