Top AI Repos β open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Test your code without writing mocks with ephemeral Docker containers π¦ Setup popular services with just a couple lines of code β±οΈ No bash, no yaml, only code π»
| Date | Stars |
|---|---|
| 2026-07-24 | 1491 |
| 2026-07-25 | 1491 |
| 2026-07-28 | 1491 |
| 2026-07-30 | 1491 |
| 2026-08-06 | 1491 |
Today
β stars today
This week
β stars this week
This month
β stars this month
Momentum
0.0
growth rate 0.00%/day
<div align="center">
<img src="https://github.com/orlangure/gnomock/raw/master/gnomock.png">
</div>
# <div align="center">Gnomock β tests without mocks</div>
ποΈ Spin up entire dependency stack
π Setup initial dependency state β easily!
π Test against actual, close to production software
β³ Spend no time writing mocks
πΉοΈ Test actual program behavior and side effects
## <div align="center">[](https://pkg.go.dev/github.com/orlangure/gnomock)  [](https://goreportcard.com/report/github.com/orlangure/gnomock) [](https://codecov.io/gh/orlangure/gnomock)</div>
Gnomock is an integration and end-to-end testing toolkit. It uses Docker to create **temporary containers** for application dependencies, **setup** their **initial state** and **clean them up** in the end. Gnomock allows to test the code with **no mocks** wherever possible.
The power of Gnomock is in a variety of [Presets](#official-presets), each implementing a specific database, service or other tools. Each preset provides ways of setting up its initial state as easily as possible: SQL schema creation, test data upload into S3, sending test events to Splunk, etc.
The name "Gnomock" stands for "no mock", with a "G" for "Go" πΌ. It also sounds like "gnome", that's why the friendly garden gnome artwork (by [Michael Zolotov](https://www.mzolotov.com/))
## Demo
See for yourself how easy and fast it is to write tests that use actual services running in ephemeral Docker containers:
[](https://asciinema.org/a/jSJJGk0n3q1g4Fc4bvZYYyifN)
## Table of contents
- [Getting started](#getting-started)
- [Using Gnomock in Go applications](#using-gnomock-in-go-applications)
- [Using Gnomock in other languages](#using-gnomock-in-other-languages)
- [Official presets](#official-presets)
- [Similar projects](#similar-projects)
- [Troubleshooting](#troubleshooting)
- [Giving back](#giving-back) π°
## Getting started
Gnomock can be used in two different ways:
- Imported directly as a package in any **Go** project
- Accessed over HTTP running as a daemon in **any other language**
Both ways **require** an active Docker daemon running **locally** in the same environment.
External `DOCKER_HOST` support is experimental. It cannot be reliably tested at this moment, but it might work.
### Using Gnomock in Go applications
See the following example to get started:
```
go get github.com/orlangure/gnomock
```
Setting up a **Postgres** container with schema setup example:
```go
package db_test
import (
"database/sql"
"fmt"
"testing"
_ "github.com/lib/pq" // postgres driver
"github.com/orlangure/gnomock"
"github.com/orlangure/gnomock/preset/postgres"
)
func TestDB(t *testing.T) {
p := postgres.Preset(
postgres.WithUser("gnomock", "gnomick"),
postgres.WithDatabase("mydb"),
postgres.WithQueriesFile("/var/project/db/schema.sql"),
)
container, _ := gnomock.Start(p)
t.Cleanup(func() { _ = gnomock.Stop(container) })
connStr := fmt.Sprintf(
"host=%s port=%d user=%s password=%s dbname=%s sslmode=disable",
container.Host, container.DefaultPort(),
"gnomock", "gnomick", "mydb",
)
db, _ := sql.Open("postgres", connStr)
// db has the required schema and data, and is ready to use
}
```
See package [reference](https://pkg.go.dev/github.com/orlangure/gnomock?tab=doc). For Preset documentation, refer to [Presets](#official-presets) section.
### Using Gnomock in other languages
If you use Go, please refer to [Using Gnomock in Go applications](#using-gnomock-in-go-applications) section. Otherwise, refer to [documentation](docs/server.md).
## Official presets
The power of Gnomock is in the PresetExcerpt of 12,950 characters
Read on GitHub426
183
4
3
3
2
1
1
1
1
1
1
1
1
1
1
1
1
1
Y.Horie Β· γγγγ€γ³γΏγΌγγγ Β· Japan
1
Would you bet a product on this? Bounded 0β100 and slow moving.
matched fp:9a1f680a7f318f76, topic:kubernetes
matched fp:9a1f680a7f318f76, topic:testing