Description
Due diligence
- I am familiar with the "Reporting issues" section of CONTRIBUTING.md
- I have searched the existing issues and haven't found one that matches what I'm reporting or requesting now.
- If this is a bug report, I have searched the Bash changelog for information that may explain or provide clues to the behavior I'm observing and reference it in the body of the report.
Description
I am not sure I understand correctly the organization of the library files, but I thought I would ask anyway.
Under lib/
there is the bats-main
script. This is the entry point to ./go test
.
Then, almost each test file loads the tests/environment.bash
file.
This, then, loads the "main" environment file lib/testing/environment
plus the assertions library lib/bats/assertions
.
If I understand the naming correctly, lib/bats/
is for libraries adding functionality that Bats is missing (more or less). So, we have the assertions library and background-process there. Then, lib/testing/
is for files that the test files will load on-demand if they need some special functionality to drive the application, eg the lib/testing/stack-trace
file.
If the above are correct, here are my questions:
- Shouldn't
lib/bats/assertion-test-helpers
be underlib/testing
as it contains special functions to test a part of the application? - Shouldn't
lib/bats/helpers
,lib/bats/helper-function
,lib/testing/environment
be under a separate 3rd folder named perhapslib/test-helpers
orlib/testing-common
orlib/testing/common
? My thinking is that what these 3 files have in common (and what distinguishes them among the rest) is that they provide functions to write richer test functions.
This is not a functionally important issue but re-organizing might help a new contributor understand more easily what is going on and what each file is supposed to do. At least so it seems to me after spending ~1 hour trying to find where functions came from and the hierarchy of sourced files.
What do you think?