temporalio / sdk-go

Temporal Go SDK
https://docs.temporal.io/application-development?lang=go
MIT License
526 stars 210 forks source link

Make TestWorkflowEnvironment return errors with stack traces #1395

Open recht opened 7 months ago

recht commented 7 months ago

If a test fails, for example because a context is used wrongly, there's almost no information available to debug, and you have to go through error unwrapping and checking in order to get to a usable stacktrace.

The usual solution is to implement a Format function on errors that prints more information when formatted using %+v. Functions like require.NoError also use this, so if there is a verbose version then that will be printed.

cretz commented 7 months ago

If a test fails, for example because a context is used wrongly, there's almost no information available to debug

Are you setting logging in this test environment? Go errors are often short on this kind of information when just printed directly and encourage logging or explicit error extraction to fill in the gaps here. If we are not logging information that we should, we can make sure we do.