You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In node-test-runner, all tests are aggregated with their module name prepended to each test description. As a result, potential copy pasted descriptions across test files are not detected. In elm-test-rs, we do not prepend the module name to the description, causing behavior differences such as tests failing in elm-test-rs with duplicate descriptions errors. Although annoying to fix, which would be improved with this PR, @avh4 acknowledged that "In all cases, the duplicate describe names were a mistake".
I must admit that initially my reason for this behavior change was not to catch duplicate descriptions. It was for two reasons, (1) because I didn't like having labels in the failure reports that were never set by the user themselves, especially knowing that it's easy to add a suite = describe "This.Module" [ allExposedTests... ], and (2) because it resulted in simpler code in the tests runner.
Now knowing that it has the following advantages:
be explicit about your tests descriptions
potentially catch copy-paste errors
simpler test runner code
would node-test-runner be willing to change that behavior at the next breaking update? Or are there other advantages than copy-paste commodity that I didn't saw making it worth staying as is?
The text was updated successfully, but these errors were encountered:
I actually need to know the module name. So if this gets removed, it would be nice to get a new field with that information. As we can also deduct the filepath from it.
@harrysarson no, not in elm-test, just that we are trying integration of elm-test-rs in the language server, which is extracting the module name from the root label of a description. Thus @razzeee comment.
When the error for duplicate descriptions was introduced, it was in part to get rid of potential copy-paste descriptions for more useful failure messages.
In node-test-runner, all tests are aggregated with their module name prepended to each test description. As a result, potential copy pasted descriptions across test files are not detected. In elm-test-rs, we do not prepend the module name to the description, causing behavior differences such as tests failing in elm-test-rs with duplicate descriptions errors. Although annoying to fix, which would be improved with this PR, @avh4 acknowledged that "In all cases, the duplicate describe names were a mistake".
I must admit that initially my reason for this behavior change was not to catch duplicate descriptions. It was for two reasons, (1) because I didn't like having labels in the failure reports that were never set by the user themselves, especially knowing that it's easy to add a
suite = describe "This.Module" [ allExposedTests... ]
, and (2) because it resulted in simpler code in the tests runner.Now knowing that it has the following advantages:
would node-test-runner be willing to change that behavior at the next breaking update? Or are there other advantages than copy-paste commodity that I didn't saw making it worth staying as is?
The text was updated successfully, but these errors were encountered: