🎯 Scooper - The Go Testing Superhero You Never Knew You Needed!
Stop writing boilerplate test code. Start scooping up perfect tests in seconds! ⚡

🎉 What Makes Scooper Magical?
Imagine this: You've just written an awesome Go function. Now you want to test it, but... ugh... writing test boilerplate is so boring! 😴
Enter Scooper! 🦸♂️
Just select your function, right-click, and BOOM! ✨ A perfectly crafted, executable test file appears with:
- ✅ Smart default values for ALL your parameters
- ✅ Automatic import organization (bye-bye missing imports!)
- ✅ Beautiful formatting with
goimports
- ✅ Ready-to-run test files in organized directories
- ✅ Git-safe (no accidental commits of test files!)
🚀 Mind-Blowing Features
🎯 One-Click Testing Nirvana
func calculateTax(income float64, rate float32, married bool) float64 {
// Your awesome code here
}
Select it. Right-click. Done. Now you have a test file with perfect defaults! 🎊
🏗️ Smart Directory Structure
your-awesome-project/
├── pkg/
│ ├── auth/
│ │ └── user.go ← Your original code
│ └── utils/
│ └── calculator.go ← Your original code
├── scooper/ ← 🎭 The magic happens here!
│ └── pkg/
│ ├── auth/
│ │ └── validateUser.go ← Perfect test for validateUser()
│ └── utils/
│ └── calculateTax.go ← Perfect test for calculateTax()
└── .gitignore ← Auto-updated to ignore scooper/
🎮 Try It Right Now!
🎯 Usage (It's Ridiculously Easy!)
- Select any Go function (including the opening
{
)
- Right Click or Ctrl+Shift+P → Choose "Test function"
- Watch the magic happen! ✨
- Modify values if needed and run your test
- Celebrate! 🎉 You just saved hours of work!
🎊 Live Demo
// Your function
func greetUser(name string, age int, premium bool) string {
if premium && age >= 18 {
return fmt.Sprintf("Welcome, premium member %s!", name)
}
return fmt.Sprintf("Hello, %s!", name)
}
Select it. Right-click. BOOM! 💥
// Generated test file: scooper/pkg/greetUser.go
package main
import "fmt"
func main() {
// Test your greetUser function
name := ""
age := 0
premium := false
result := greetUser(name, age, premium)
fmt.Printf("Result: %v\n", result)
}
func greetUser(name string, age int, premium bool) string {
if premium && age >= 18 {
return fmt.Sprintf("Welcome, premium member %s!", name)
}
return fmt.Sprintf("Hello, %s!", name)
}
🎯 Perfect For
- 🚀 Rapid Prototyping: Test functions instantly during development
- 🧪 Quick Debugging: Isolate and test specific functions
- 📚 Learning Go: Understand how functions work with real data
- ⚡ Code Reviews: Quickly verify function behavior
- 🎮 Experimentation: Play with different input values
🛡️ Rock-Solid Requirements
- VS Code with Go extension (you probably have this already! 😉)
- Go compiler (for running the awesome generated tests)
goimports
tool (for that auto-imports and beautiful auto-formatting magic)
🎨 Advanced Features
🛡️ Git-Safe by Default
- Automatically adds
scooper/
to .gitignore
- Never accidentally commit test files
- Keep your repository clean and professional
🚀 Coming Soon (We're Just Getting Started!)
- 🎯 Benchmark Generation: Auto-generate performance tests
- 🧪 Unit Test Templates: Generate proper Go test files
- 🎨 Custom Templates: Create your own test patterns
- 🔄 Live Reload: Auto-update tests when functions change
- 🧠 Intelligent Initializations: Context-aware parameter values based on function names and types
- 📊 Test Coverage: Visual coverage indicators
Found a bug? Have an idea? Want to contribute? We'd love to hear from you!
📝 Release Notes
🎉 0.0.1 - "The Scooper Revolution Begins!"
- 🚀 Core Magic: One-click function testing
- 🎯 Custom Types: Advanced type resolution system
- 🎨 Auto-Formatting: goimports integration
- 🛡️ Git-Safe: Automatic .gitignore management
- 🏗️ Smart Structure: Organized test file placement
🎊 Ready to Become a Testing Superhero?
Install Scooper now and turn testing from a chore into pure joy!
Your future self (and your team) will thank you! 🙏✨
Made with ❤️ for the Go community
Happy Scooping! 🥄