F# testing patterns: xUnit, FsUnit, Unquote, FsCheck and Testcontainers
Idiomatic F# testing — xUnit + FsUnit assertions, Unquote quotation-based assertions, FsCheck property-based tests, NSubstitute mocking, ASP.NET Core integration tests
- What
- Idiomatic F# testing — xUnit + FsUnit assertions, Unquote quotation-based assertions, FsCheck property-based tests, NSubstitute mocking, ASP.NET Core integration tests
- Cost
- Free
- Needs
- the .NET SDK installed (dotnet CLI) and an F# project to test against — the skill is guidance the agent follows, not software to install
- Install
- Copy the installer prompt below into your Muse — your agent does the rest.
Curated by Skill Harbor — @affaan-m's F# testing playbook: the full .NET test stack — xUnit with FsUnit assertions, Unquote for quotation-based assertions with clear failure messages, FsCheck.xUnit for property-based testing with custom generators — plus async test patterns, Theory parameterized tests, dependency mocking via function stubs (preferred) or NSubstitute for interfaces, ASP.NET Core integration tests with WebApplicationFactory (in-memory DB) and Testcontainers for real infrastructure, a canonical test folder layout, an anti-pattern table (implementation-detail tests, shared mutable state, Thread.Sleep in async tests, asserting on sprintf output), and the dotnet CLI commands for run, coverage, filtering and watch mode. Honest caveats: code-first methodology, no tooling — you need the .NET SDK and a working F# project to apply it; the skill lives under the repo's Japanese docs path (docs/ja-JP/…) though the content itself is in English; the related skills it mentions (dotnet-patterns, csharp-testing) are not bundled with this one. MIT licensed. Skill Harbor never reviews the code, review it yourself before use. Discovered via skills.sh.
Version:
Install
Prerequisites: the .NET SDK installed (dotnet CLI) and an F# project to test against — the skill is guidance the agent follows, not software to install Install "F# testing patterns: xUnit, FsUnit, Unquote, FsCheck and Testcontainers" for me. It gives my agent @affaan-m's F# testing playbook: the xUnit + FsUnit + Unquote + FsCheck.xUnit stack (unit, parameterized Theory, and property-based tests with custom generators), async test patterns, dependency mocking via function stubs or NSubstitute, ASP.NET Core integration tests with WebApplicationFactory and Testcontainers, a canonical test folder layout, an anti-pattern table, and the dotnet commands for run/coverage/filter/watch. MIT-licensed. Repository: https://github.com/affaan-m/ecc/blob/main/docs/ja-JP/skills/fsharp-testing/SKILL.md 1. Fetch the SKILL.md file (and any helper files) from the repository path into a temporary folder and summarize what it does in one or two sentences. 2. Safety check: review the SKILL.md and scripts for anything suspicious (unexpected network calls, shell commands, credential harvesting). This repo should contain zero secrets in code, credentials only via the secure vault, allowed hosts declared in the SKILL.md. Verify that holds here; STOP on any red flag and tell me. 3. Install it as a skill: copy SKILL.md and its helper files into the agent's skills directory, in a folder named "fsharp-testing". 4. Verify with no network calls: frontmatter valid, files in place. 5. Report what was installed, where, and what I still need to do myself (e.g. point the agent at my F# test project; nothing else — it's a methodology). GitHub is optional: if I have a GitHub account or the gh CLI, you may use it; otherwise public access is fine. Never require it unless it's in the prerequisites above. Rules: don't touch anything outside the temp folder and the install target. If anything looks off, stop and ask me.
Questions
How do I install a build?
Every product page includes a copy-paste install prompt. Paste it into your Muse and it sets the build up for you — no manual configuration.
Where does my money go?
Straight to the seller. Skill Harbor never processes payments: checkout happens on the seller’s own page, usually Stripe.
What does the ✓ next to a creator’s name mean?
It means we confirmed the identity of the person behind the listing. It says nothing about the code itself — always check a build before installing it.