{"id":26202265,"url":"https://github.com/astef/isolatedtestfixtureattribute","last_synced_at":"2026-04-15T12:33:31.554Z","repository":{"id":143541368,"uuid":"228190767","full_name":"astef/IsolatedTestFixtureAttribute","owner":"astef","description":"Proof of concept NUnit attribute to isolate tests on AssemblyLoadContext level","archived":false,"fork":false,"pushed_at":"2019-12-15T15:14:19.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-12-26T01:27:55.494Z","etag":null,"topics":["assemblyloadcontext","netcore3","nunit","unittesting"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/astef.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-12-15T13:41:52.000Z","updated_at":"2019-12-15T15:14:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8b84f55-62ca-4471-9b42-7cd0e55bfdf8","html_url":"https://github.com/astef/IsolatedTestFixtureAttribute","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/astef/IsolatedTestFixtureAttribute","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astef%2FIsolatedTestFixtureAttribute","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astef%2FIsolatedTestFixtureAttribute/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astef%2FIsolatedTestFixtureAttribute/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astef%2FIsolatedTestFixtureAttribute/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/astef","download_url":"https://codeload.github.com/astef/IsolatedTestFixtureAttribute/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/astef%2FIsolatedTestFixtureAttribute/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31842179,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T11:29:19.690Z","status":"ssl_error","status_checked_at":"2026-04-15T11:29:19.171Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assemblyloadcontext","netcore3","nunit","unittesting"],"created_at":"2025-03-12T03:34:02.287Z","updated_at":"2026-04-15T12:33:31.507Z","avatar_url":"https://github.com/astef.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IsolatedTestFixtureAttribute\n\nThe goal of this work is to use existing `NUnit` extensibility mechanisms to achieve `AssemblyLoadContext`-level isolation between unit-test runs.\n\nTypical use case is testing a code which mutates static state, or have complex logic in type initializers.\n\n[`AssemblyLoadContext`](https://docs.microsoft.com/en-us/dotnet/api/system.runtime.loader.assemblyloadcontext) is a new scoping concept in `.NET Core`, which is intended to replace [`AppDomain`](https://docs.microsoft.com/en-us/dotnet/api/system.appdomain)s in many cases.\n\n# Current issues\n * Test method isolation is not achieved (only test classes can be isolated). `IsolatedTests3.TestSharedVariableIncrement` tests are failing, because they're using the same `AssemblyLoadContext`.\n * `AssemblyLoadContext` unloadability. Currently, all created contexts are not unloaded. [DotNet Core Unloadability Design Docs](https://github.com/dotnet/coreclr/blob/master/Documentation/design-docs/unloadability.md).\n * The design is poor. Better design can be supported by NUnit maintainers, see [the issue](https://github.com/nunit/nunit/issues/3444).\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastef%2Fisolatedtestfixtureattribute","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fastef%2Fisolatedtestfixtureattribute","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fastef%2Fisolatedtestfixtureattribute/lists"}