Expect(err).ShouldNot(HaveOccurred())
or
Expect(err).ToNot(HaveOccurred())
Only give you the Expect stackTrace or the stackTrace of the DSL. We are looking for the stackTrace of the error
Example output of Expect(err).ShouldNot(HaveOccurred())
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
ShouldNot
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:20
One function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:21
> Enter [It] One function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:21 @ 03/06/24 14:37:11.239
[FAILED] Unexpected error:
<*errors.fundamental | 0xc00019e810>:
Error cam from FunctionOne
{
msg: "Error cam from FunctionOne",
stack: [0x73e45c, 0x73e5bc, 0x717213, 0x7287cd, 0x46ef61],
}
occurred
In [It] at: /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:23 @ 03/06/24 14:37:11.239
Full Stack Trace
< Exit [It] One function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:21 @ 03/06/24 14:37:11.24 (1ms)
• [FAILED] [0.001 seconds]
When we use github.com/pkg/error
and
Expect(err).NotTo(HaveOccurred(), "Error: %+v", err)
we get a better stackTrace
Example output of Expect(err).NotTo(HaveOccurred(), "Error: %+v", err)
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
NotTo
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:34
[It] three function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:43
------------------------------
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
using github.com/pkg/errors
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:50
One function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:51
> Enter [It] One function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:51 @ 03/06/24 14:37:11.243
[FAILED] Error: Error cam from FunctionOne
dev.azure.com/msazuredev/AzureForOperatorsIndustry/_git/nc-api-testing/tests/prototype/ginkgo/errors_test.FunctionOne
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:69
dev.azure.com/msazuredev/AzureForOperatorsIndustry/_git/nc-api-testing/tests/prototype/ginkgo/errors_test.glob..func1.2.1
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:52
github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3
/home/user/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.15.0/internal/node.go:463
github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3
/home/user/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.15.0/internal/suite.go:889
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1650
Unexpected error:
<*errors.fundamental | 0xc00019f080>:
Error cam from FunctionOne
{
msg: "Error cam from FunctionOne",
stack: [0x73e45c, 0x73eb45, 0x717213, 0x7287cd, 0x46ef61],
}
occurred
In [It] at: /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:53 @ 03/06/24 14:37:11.243
Full Stack Trace
< Exit [It] One function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:51 @ 03/06/24 14:37:11.243 (0s)
• [FAILED] [0.000 seconds]
What is the proper way to get the Stack Trace of the error?
Code example
package ginkgo_error_test
import (
"testing"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
"github.com/pkg/errors"
)
//nolint:paralleltest // Not needed in Ginkgo suite setup.
func TestUserRp(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "Examples")
}
var _ = Describe("Stack Trace examples", Label("issues"), func() {
Context("Standard Approach", func() {
Context("ShouldNot", func() {
It("One function deep", func() {
err := FunctionOne(true, false, false)
Expect(err).ShouldNot(HaveOccurred())
})
It("two function deep", func() {
err := FunctionOne(false, true, false)
Expect(err).ShouldNot(HaveOccurred())
})
It("three function deep", func() {
err := FunctionOne(false, false, true)
Expect(errors.Cause(err)).ShouldNot(HaveOccurred())
})
})
Context("NotTo", func() {
It("One function deep", func() {
err := FunctionOne(true, false, false)
Expect(err).NotTo(HaveOccurred())
})
It("two function deep", func() {
err := FunctionOne(false, true, false)
Expect(err).NotTo(HaveOccurred())
})
It("three function deep", func() {
err := FunctionOne(false, false, true)
Expect(err).NotTo(HaveOccurred())
})
})
})
// this direction will give you the stack trace of the Expect not the called function that had the error
Context("using github.com/pkg/errors", func() {
It("One function deep", func() {
err := FunctionOne(true, false, false)
Expect(err).NotTo(HaveOccurred(), "Error: %+v", err)
})
It("two function deep", func() {
err := FunctionOne(false, true, false)
Expect(err).NotTo(HaveOccurred(), "Error: %+v", err)
})
It("three function deep", func() {
err := FunctionOne(false, false, true)
Expect(err).NotTo(HaveOccurred(), "Error: %+v", err)
})
})
})
func FunctionOne(oneReturnError, twoReturnError, threeReturnError bool) error {
if oneReturnError {
return errors.New("Error cam from FunctionOne")
}
return FunctionTwo(twoReturnError, threeReturnError)
}
func FunctionTwo(twoReturnError, threeReturnError bool) error {
if twoReturnError {
return errors.New("Error cam from FunctionTwo")
}
return FunctionThree(threeReturnError)
}
func FunctionThree(threeReturnError bool) error {
if threeReturnError {
return errors.New("Error cam from FunctionThree")
}
return nil
}
Output from code above run
user@LAPTOP-GLS580EI:~/nc-api-testing$ ginkgo run --trace --vv ./tests/prototype/ginkgo/errors/...
Running Suite: Examples - /home/user/nc-api-testing/tests/prototype/ginkgo/errors
=========================================================================================
Random Seed: 1709757430
Will run 9 of 9 specs
------------------------------
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
ShouldNot
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:20
One function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:21
> Enter [It] One function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:21 @ 03/06/24 14:37:11.239
[FAILED] Unexpected error:
<*errors.fundamental | 0xc00019e810>:
Error cam from FunctionOne
{
msg: "Error cam from FunctionOne",
stack: [0x73e45c, 0x73e5bc, 0x717213, 0x7287cd, 0x46ef61],
}
occurred
In [It] at: /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:23 @ 03/06/24 14:37:11.239
Full Stack Trace
< Exit [It] One function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:21 @ 03/06/24 14:37:11.24 (1ms)
• [FAILED] [0.001 seconds]
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
ShouldNot
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:20
[It] One function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:21
------------------------------
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
ShouldNot
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:20
two function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:25
> Enter [It] two function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:25 @ 03/06/24 14:37:11.24
[FAILED] Unexpected error:
<*errors.fundamental | 0xc00019e978>:
Error cam from FunctionTwo
{
msg: "Error cam from FunctionTwo",
stack: [0x73e572, 0x73e474, 0x73e63c, 0x717213, 0x7287cd, 0x46ef61],
}
occurred
In [It] at: /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:27 @ 03/06/24 14:37:11.24
Full Stack Trace
< Exit [It] two function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:25 @ 03/06/24 14:37:11.24 (1ms)
• [FAILED] [0.001 seconds]
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
ShouldNot
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:20
[It] two function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:25
------------------------------
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
ShouldNot
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:20
three function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:29
> Enter [It] three function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:29 @ 03/06/24 14:37:11.241
[FAILED] Unexpected error:
<*errors.fundamental | 0xc00019eae0>:
Error cam from FunctionThree
{
msg: "Error cam from FunctionThree",
stack: [0x73e4c3, 0x73e4c1, 0x73e474, 0x73e6bc, 0x717213, 0x7287cd, 0x46ef61],
}
occurred
In [It] at: /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:31 @ 03/06/24 14:37:11.241
Full Stack Trace
< Exit [It] three function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:29 @ 03/06/24 14:37:11.241 (0s)
• [FAILED] [0.000 seconds]
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
ShouldNot
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:20
[It] three function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:29
------------------------------
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
NotTo
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:34
One function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:35
> Enter [It] One function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:35 @ 03/06/24 14:37:11.241
[FAILED] Unexpected error:
<*errors.fundamental | 0xc00019ec48>:
Error cam from FunctionOne
{
msg: "Error cam from FunctionOne",
stack: [0x73e45c, 0x73e81c, 0x717213, 0x7287cd, 0x46ef61],
}
occurred
In [It] at: /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:37 @ 03/06/24 14:37:11.242
Full Stack Trace
< Exit [It] One function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:35 @ 03/06/24 14:37:11.242 (0s)
• [FAILED] [0.000 seconds]
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
NotTo
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:34
[It] One function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:35
------------------------------
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
NotTo
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:34
two function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:39
> Enter [It] two function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:39 @ 03/06/24 14:37:11.242
[FAILED] Unexpected error:
<*errors.fundamental | 0xc00019edb0>:
Error cam from FunctionTwo
{
msg: "Error cam from FunctionTwo",
stack: [0x73e572, 0x73e474, 0x73e89c, 0x717213, 0x7287cd, 0x46ef61],
}
occurred
In [It] at: /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:41 @ 03/06/24 14:37:11.242
Full Stack Trace
< Exit [It] two function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:39 @ 03/06/24 14:37:11.242 (0s)
• [FAILED] [0.000 seconds]
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
NotTo
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:34
[It] two function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:39
------------------------------
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
NotTo
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:34
three function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:43
> Enter [It] three function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:43 @ 03/06/24 14:37:11.242
[FAILED] Unexpected error:
<*errors.fundamental | 0xc00019ef18>:
Error cam from FunctionThree
{
msg: "Error cam from FunctionThree",
stack: [0x73e4c3, 0x73e4c1, 0x73e474, 0x73e91c, 0x717213, 0x7287cd, 0x46ef61],
}
occurred
In [It] at: /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:45 @ 03/06/24 14:37:11.242
Full Stack Trace
< Exit [It] three function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:43 @ 03/06/24 14:37:11.243 (0s)
• [FAILED] [0.000 seconds]
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
Standard Approach
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:19
NotTo
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:34
[It] three function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:43
------------------------------
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
using github.com/pkg/errors
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:50
One function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:51
> Enter [It] One function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:51 @ 03/06/24 14:37:11.243
[FAILED] Error: Error cam from FunctionOne
dev.azure.com/msazuredev/AzureForOperatorsIndustry/_git/nc-api-testing/tests/prototype/ginkgo/errors_test.FunctionOne
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:69
dev.azure.com/msazuredev/AzureForOperatorsIndustry/_git/nc-api-testing/tests/prototype/ginkgo/errors_test.glob..func1.2.1
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:52
github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3
/home/user/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.15.0/internal/node.go:463
github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3
/home/user/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.15.0/internal/suite.go:889
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1650
Unexpected error:
<*errors.fundamental | 0xc00019f080>:
Error cam from FunctionOne
{
msg: "Error cam from FunctionOne",
stack: [0x73e45c, 0x73eb45, 0x717213, 0x7287cd, 0x46ef61],
}
occurred
In [It] at: /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:53 @ 03/06/24 14:37:11.243
Full Stack Trace
< Exit [It] One function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:51 @ 03/06/24 14:37:11.243 (0s)
• [FAILED] [0.000 seconds]
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
using github.com/pkg/errors
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:50
[It] One function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:51
------------------------------
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
using github.com/pkg/errors
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:50
two function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:55
> Enter [It] two function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:55 @ 03/06/24 14:37:11.243
[FAILED] Error: Error cam from FunctionTwo
dev.azure.com/msazuredev/AzureForOperatorsIndustry/_git/nc-api-testing/tests/prototype/ginkgo/errors_test.FunctionTwo
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:76
dev.azure.com/msazuredev/AzureForOperatorsIndustry/_git/nc-api-testing/tests/prototype/ginkgo/errors_test.FunctionOne
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:71
dev.azure.com/msazuredev/AzureForOperatorsIndustry/_git/nc-api-testing/tests/prototype/ginkgo/errors_test.glob..func1.2.2
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:56
github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3
/home/user/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.15.0/internal/node.go:463
github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3
/home/user/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.15.0/internal/suite.go:889
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1650
Unexpected error:
<*errors.fundamental | 0xc00019f1e8>:
Error cam from FunctionTwo
{
msg: "Error cam from FunctionTwo",
stack: [0x73e572, 0x73e474, 0x73ec45, 0x717213, 0x7287cd, 0x46ef61],
}
occurred
In [It] at: /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:57 @ 03/06/24 14:37:11.243
Full Stack Trace
< Exit [It] two function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:55 @ 03/06/24 14:37:11.244 (0s)
• [FAILED] [0.000 seconds]
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
using github.com/pkg/errors
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:50
[It] two function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:55
------------------------------
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
using github.com/pkg/errors
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:50
three function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:59
> Enter [It] three function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:59 @ 03/06/24 14:37:11.244
[FAILED] Error: Error cam from FunctionThree
dev.azure.com/msazuredev/AzureForOperatorsIndustry/_git/nc-api-testing/tests/prototype/ginkgo/errors_test.FunctionThree
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:83
dev.azure.com/msazuredev/AzureForOperatorsIndustry/_git/nc-api-testing/tests/prototype/ginkgo/errors_test.FunctionTwo
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:78
dev.azure.com/msazuredev/AzureForOperatorsIndustry/_git/nc-api-testing/tests/prototype/ginkgo/errors_test.FunctionOne
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:71
dev.azure.com/msazuredev/AzureForOperatorsIndustry/_git/nc-api-testing/tests/prototype/ginkgo/errors_test.glob..func1.2.3
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:60
github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3
/home/user/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.15.0/internal/node.go:463
github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3
/home/user/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.15.0/internal/suite.go:889
runtime.goexit
/usr/local/go/src/runtime/asm_amd64.s:1650
Unexpected error:
<*errors.fundamental | 0xc00019f350>:
Error cam from FunctionThree
{
msg: "Error cam from FunctionThree",
stack: [0x73e4c3, 0x73e4c1, 0x73e474, 0x73ed45, 0x717213, 0x7287cd, 0x46ef61],
}
occurred
In [It] at: /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:61 @ 03/06/24 14:37:11.244
Full Stack Trace
< Exit [It] three function deep - /home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:59 @ 03/06/24 14:37:11.244 (0s)
• [FAILED] [0.000 seconds]
Stack Trace examples [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:18
using github.com/pkg/errors
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:50
[It] three function deep
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:59
------------------------------
Summarizing 9 Failures:
[FAIL] Stack Trace examples Standard Approach ShouldNot [It] One function deep [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:23
[FAIL] Stack Trace examples Standard Approach ShouldNot [It] two function deep [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:27
[FAIL] Stack Trace examples Standard Approach ShouldNot [It] three function deep [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:31
[FAIL] Stack Trace examples Standard Approach NotTo [It] One function deep [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:37
[FAIL] Stack Trace examples Standard Approach NotTo [It] two function deep [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:41
[FAIL] Stack Trace examples Standard Approach NotTo [It] three function deep [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:45
[FAIL] Stack Trace examples using github.com/pkg/errors [It] One function deep [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:53
[FAIL] Stack Trace examples using github.com/pkg/errors [It] two function deep [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:57
[FAIL] Stack Trace examples using github.com/pkg/errors [It] three function deep [issues]
/home/user/nc-api-testing/tests/prototype/ginkgo/errors/ginkgo_error_test.go:61
Ran 9 of 9 Specs in 0.006 seconds
FAIL! -- 0 Passed | 9 Failed | 0 Pending | 0 Skipped
--- FAIL: TestUserRp (0.01s)
FAIL
Ginkgo ran 1 suite in 533.1534ms
Test Suite Failed
Expect(err).ShouldNot(HaveOccurred())
or
Expect(err).ToNot(HaveOccurred())
Only give you the Expect stackTrace or the stackTrace of the DSL. We are looking for the stackTrace of the error
Example output of Expect(err).ShouldNot(HaveOccurred())
When we use github.com/pkg/error
and
Expect(err).NotTo(HaveOccurred(), "Error: %+v", err)
we get a better stackTrace
Example output of Expect(err).NotTo(HaveOccurred(), "Error: %+v", err)
What is the proper way to get the Stack Trace of the error?
Code example
Output from code above run