refactor: unify how executor tests are written #2042
Draft
+580
−342
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently we have a couple of different ways of writing tests in
task_test.go
. Some use the thefileContentTest
template, some directly craft and run anExecutor
.This is a draft PR for a new test type called
TaskTest
. The idea is that this is a "do everything" testing suite for the Executor. Instead of relying on handcrafted outputs written inside the go file or creating special taskfiles that output content to a file, it usesgoldie
to create test "golden files". The API uses functional options and post-processing functions to setup tests.As there are a lot of tests in here, I wanted to gather some feedback on the approach before I continue. I'm also interested in splitting this file up as its currently at over 3400 lines long, but looking for some opinions on the best way to do this. I had considered renaming the existing
testdata
folder totests
and moving these tests there alongside their taskfiles, but this doesn't feel very "go-like"?