Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fsharp-test-kit-plus

hero

License: MIT Works with Claude Code Skill version 1.0 GitHub stars

Built on affaan-m/ECC by @affaan-m (256,294 stars, MIT). All credit for the original idea to them. This fork improves and repackages it; upstream license preserved in UPSTREAM_LICENSE.

A Claude Code skill that helps F# developers write clear, safe tests with xUnit, FsUnit, Unquote, FsCheck, and .NET test tools.

Built for F# developers who want better unit, async, property, and ASP.NET Core tests. It fits into your current Claude Code flow.

💡 Why

F# tests can fail for reasons that are hard to spot.

Files may be in the wrong build order. Async tests may block. Shared data may make tests flaky. Weak checks may hide the real error.

This skill gives Claude Code a small set of practical rules for writing tests that are easy to read and trust.

🚀 Install

Replace OWNER with the GitHub account that hosts this repo, then run one command:

mkdir -p ~/.claude/skills/fsharp-testing && curl -fsSL https://raw.githubusercontent.com/OWNER/fsharp-test-kit-plus/main/skill/SKILL.md -o ~/.claude/skills/fsharp-testing/SKILL.md

No build step is needed.

🧪 Usage

Ask Claude Code for a test in plain words:

Use the fsharp-testing skill to add xUnit tests for ValidatedEmail.create.
Check the exact errors for an empty value and a bad email.

Expected output:

module ValidatedEmailTests

open Xunit
open Swensen.Unquote

[<Fact>]
let ``empty email gives EmailIsEmpty`` () =
    let result = ValidatedEmail.create ""

    test <@ result = Error EmailIsEmpty @>

Claude should also place F# helper files before test files in the project file. It should use fresh test data and check the exact Result value when that value matters.

🔧 What we changed vs upstream

  • Replaced the Japanese metadata description with a clearer English summary of the skill’s scope and tools.
  • Expanded activation guidance to explicitly cover async code and ASP.NET Core testing.
  • Added practical test-project setup commands, package installation steps, and F# file-order guidance.
  • Strengthened testing advice around minimal dependencies, isolated test data, exact Result assertions, and observable behavior.
  • Improved async guidance with cancellation testing and warnings against .Result, .Wait(), and Thread.Sleep.

📄 License

This project uses the MIT License. The original upstream license is preserved in UPSTREAM_LICENSE.

About

Free Claude Code skill to test F# with xUnit, FsUnit, Unquote, FsCheck, stubs, and APIs—built on affaan-m/ECC by @affaan-m.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors