The underlying implementation was refactored from the ground up to make it much more extensible and testable in the future
Mocks can be completely ignored using the `ensure:"-"` tag, in addition to the existing `ensure:"ignoreunused"` tag for making them optional
⚠️ Breaking Change: Unused mocks are now an error unless they are ignored (`ensure:"-"`) or optional (`ensure:"ignoreunused"`)
Warnings are no longer issued, since unused mocks are now an error
Supports embedded pointer fields in structs and mocks instead of only embedded non-pointer fields
Correctly handles "shadowed" fields in embedded fields in both Subject and Mocks
Duplicate mocks are now supported, but will cause errors when matching a Subject, unless one of them is ignored (`ensure:"-"`) or optional (`ensure:"ignoreunused"`)
Closes #23.
Changes
ensure.RunTableByIndex
:`ensure:"-"`
tag, in addition to the existing`ensure:"ignoreunused"`
tag for making them optional`ensure:"-"`
) or optional (`ensure:"ignoreunused"`
)Subject
andMocks
`ensure:"-"`
) or optional (`ensure:"ignoreunused"`
)