diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2023-07-29 17:02:04 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2023-07-30 18:35:36 +1000 |
commit | 7b302d8c298ca2eb7e08d63f993186d25252f97e (patch) | |
tree | ef50114f45816c9dc16cfa6e827cbd74fce38469 /pkg/utils | |
parent | a1fae4105116775b5c4a0c9c3b01fa822b29cfac (diff) |
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
Diffstat (limited to 'pkg/utils')
-rw-r--r-- | pkg/utils/dummies.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/pkg/utils/dummies.go b/pkg/utils/dummies.go index 08de78d1d..96c56b903 100644 --- a/pkg/utils/dummies.go +++ b/pkg/utils/dummies.go @@ -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(), } } |