What problem does it solve? Writing Go tests with testify often leads to subtle mistakes: swapped expected/actual arguments, assert used where require is needed, unverified mocks, and error comparisons that fail silently on wrapped errors. This Skill provides disciplined guidance for using testify correctly across assertions, mocks, and suites. ## Core Features & Use Cases - Assertion discipline: Rules for choosing assert vs require, correct (expected, actual) argument order, and chain-walking error checks with ErrorIs/ErrorAs. - Mock authoring and verification: Patterns for embedding mock.Mock, argument matchers (Anything, AnythingOfType, MatchedBy), call modifiers (Once, Times, Maybe), and mandatory AssertExpectations verification. - Suite lifecycle management: Setup/TearDown hooks, the required suite.Run launcher, and mixing failure modes via s.Require(). - Use Case: While writing a test for an order service, use this Skill to set up a MockSender with typed argument matchers, poll async state with EventuallyWithT, and audit the test file for assert-as-guard mistakes before committing. ## Quick Start Ask the assistant to write a testify-based test with a mock for your Go interface, or to review an existing testify test file for misuse.