Comments (5)
@madelson I'll be happy to contribute here.
I was thinking of starting with the Redis provider here - I'll need to see how to enable just a subset of the test to make this be a gradual effort
From what I see on other projects using test-containers, we could just use the ubuntu image (see https://github.com/actions/runner-images/blob/ubuntu22/20240212.1/images/ubuntu/Ubuntu2204-Readme.md having docker already installed, and a working example https://github.com/filipsnastins/testcontainers-github-actions/actions/runs/7959995426/job/21728056781?pr=80)
from distributedlock.
I agree this would be a great idea, especially if it can create and easy path towards enabling a larger portion of the suite to run through GitHub actions.
@Meir017 is this something you’re interested in contributing? If so, let’s discuss what the implications would be for the code base and developer experience.
from distributedlock.
Redis makes sense as a place to start. The tests are pretty well organized by namespace/category (and more could be done if that’s not sufficient), so it shouldn’t be terribly difficult to run just the redis tests through nunit.
from distributedlock.
If you're talking about black box tests, you can standup a test environment in github actions with docker-compose, and run tests against those environments. You can add an abstraction over it with Tilt
if desired.
This has the advantage of not leaking the test env into your code, but afaik is fundamentally the same as testcontainers
🤔
You end up just standup up the envs for redis, postgres....etc using their already existing images. It's quite convenient :)
from distributedlock.
@douglasg14b would this affect the local development experience? Would developers still need to install locally thr different dependencies?
from distributedlock.
Related Issues (20)
- Redis timeout on RedLockRelease HOT 3
- Too many UnobservedTaskException HOT 2
- IOException: directory already exists in Ubuntu
- Elaborate on ZooKeeper setup docs HOT 1
- Upgrade to NUnit 4 and leverage new features like Assert.ThatAsync and Assert.Multiple
- Use NUnit.Analyzers to prepare for migration to NUnit 4
- Add additional TFM so the dependency on System.Threading.AccessControl can be removed HOT 2
- Azure Semaphore implementation HOT 1
- Dependency on Microsoft.Data.SqlClient 5.2.0 may be unnecessary HOT 3
- Postgres: Add support for transaction-scoped advisory locks with external DB connections HOT 9
- EventWaitHandle support for local namespace HOT 2
- Rare race condition with keepalive after upgrading to Npgsql 8.0.3
- Core Next Minor - normalize locking in DatabaseConnection.CreateCommand()
- Upgrade to Npgsql 8.0.3
- Take advantage of """ strings in various files
- RedisScript<T> whitespace regex doesn't need to consider single whitespace chars
- Single-node in-memory implementation HOT 2
- Sqlite implementation
- Postgres: allow ShouldPrepareCommands to be false to work with npgsql driver Multiplexing
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from distributedlock.