Skip to content

refactor: replace Moq with Mockolate#1405

Merged
vbreuss merged 1 commit intomainfrom
topic/replace-moq-with-mockolate
Jan 23, 2026
Merged

refactor: replace Moq with Mockolate#1405
vbreuss merged 1 commit intomainfrom
topic/replace-moq-with-mockolate

Conversation

@vbreuss
Copy link
Copy Markdown
Member

@vbreuss vbreuss commented Jan 23, 2026

This PR refactors the testing infrastructure by replacing the Moq mocking framework with Mockolate. The change affects package dependencies and updates test code to use Mockolate's API syntax throughout the codebase.

Key Changes:

  • Replaced Moq package dependency with Mockolate version 1.0.0
  • Updated test code to use Mockolate's API syntax (Mock.Create, SetupMock, etc.)
  • Updated README documentation to reflect the new mocking framework

@vbreuss vbreuss self-assigned this Jan 23, 2026
Copilot AI review requested due to automatic review settings January 23, 2026 14:53
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the testing infrastructure by replacing the Moq mocking framework with Mockolate. The change affects package dependencies and updates test code to use Mockolate's API syntax throughout the codebase.

Changes:

  • Replaced Moq package dependency with Mockolate version 1.0.0
  • Updated test code to use Mockolate's API syntax (Mock.Create, SetupMock, etc.)
  • Updated README documentation to reflect the new mocking framework

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
Directory.Packages.props Updated package dependency from Moq 4.20.72 to Mockolate 1.0.0
tests/Directory.Build.props Replaced Moq package reference with Mockolate
tests/TestableIO.System.IO.Abstractions.Wrappers.Tests/FileSystemTests.cs Converted all test methods from Moq syntax to Mockolate syntax and added NET6_0 conditional compilation
README.md Updated mock support documentation examples to use Mockolate instead of Moq

@sonarqubecloud
Copy link
Copy Markdown

@vbreuss vbreuss enabled auto-merge (squash) January 23, 2026 14:57
@vbreuss vbreuss disabled auto-merge January 23, 2026 14:57
@github-actions
Copy link
Copy Markdown

Test Results

    31 files  ±0      31 suites  ±0   24s ⏱️ +7s
 1 151 tests ±0   1 150 ✅ ±0    1 💤 ±0  0 ❌ ±0 
11 057 runs  ±0  10 218 ✅ ±0  839 💤 ±0  0 ❌ ±0 

Results for commit 96b53cf. ± Comparison against base commit fc2f666.

@vbreuss vbreuss merged commit c9c34d0 into main Jan 23, 2026
11 checks passed
@vbreuss vbreuss deleted the topic/replace-moq-with-mockolate branch January 23, 2026 15:03
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 9, 2026

This is addressed in release v22.1.1.

@github-actions github-actions bot added the state: released Issues that are released label Apr 9, 2026
This was referenced Apr 9, 2026
This was referenced Apr 10, 2026
microsoft-github-policy-service bot pushed a commit to Azure/template-reference-generator that referenced this pull request Apr 12, 2026
Updated
[System.IO.Abstractions](https://github.com/TestableIO/System.IO.Abstractions)
from 22.1.0 to 22.1.1.

<details>
<summary>Release notes</summary>

_Sourced from [System.IO.Abstractions's
releases](https://github.com/TestableIO/System.IO.Abstractions/releases)._

## 22.1.1

## What's Changed
* chore(deps): update dependency githubactionstestlogger to v3 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1380
* chore(deps): update dependency githubactionstestlogger to 3.0.1 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1381
* chore(deps): update dependency publicapigenerator to 11.5.2 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1382
* chore(deps): update dependency publicapigenerator to 11.5.3 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1383
* chore(deps): update dependency sharpcompress to 0.42.0 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1384
* chore(deps): update dependency benchmarkdotnet to 0.15.8 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1385
* chore(deps): update dependency publicapigenerator to 11.5.4 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1387
* chore(deps): update dependency nunit3testadapter to v6 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1388
* chore(deps): update dependency sharpcompress to 0.42.1 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1389
* chore(deps): update dependency system.text.json to 10.0.1 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1390
* chore(deps): update dependency dotnet-sdk to v10.0.101 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1391
* chore(deps): update github artifact actions (major) by @​renovate[bot]
in TestableIO/System.IO.Abstractions#1392
* chore(deps): update dependency nunit3testadapter to 6.0.1 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1393
* chore(deps): update dependency sharpcompress to 0.43.0 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1394
* chore(deps): update dependency nunit3testadapter to 6.1.0 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1395
* chore(deps): update dependency sharpcompress to 0.44.0 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1396
* chore(deps): update dependency system.text.json to 10.0.2 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1397
* chore(deps): update dependency dotnet-sdk to v10.0.102 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1398
* chore(deps): update dependency awexpect to 2.30.0 by @​renovate[bot]
in TestableIO/System.IO.Abstractions#1399
* chore(deps): update dependency sharpcompress to 0.44.1 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1400
* chore(deps): update apexskier/github-release-commenter action to
v1.4.1 by @​renovate[bot] in
TestableIO/System.IO.Abstractions#1401
* chore(deps): update dependency sharpcompress to 0.44.2 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1403
* chore: bump nuke to v10.1 by @​vbreuss in
TestableIO/System.IO.Abstractions#1404
* refactor: replace Moq with Mockolate by @​vbreuss in
TestableIO/System.IO.Abstractions#1405
* refactor: migrate to slnx format by @​vbreuss in
TestableIO/System.IO.Abstractions#1406
* fix: pin `System.Text.Json` versions for older frameworks by @​vbreuss
in TestableIO/System.IO.Abstractions#1407
* refactor: remove explicit .NET6 tests by @​vbreuss in
TestableIO/System.IO.Abstractions#1408
* chore: bump Mockolate to v1.0.1 by @​vbreuss in
TestableIO/System.IO.Abstractions#1410
* chore(deps): update dependency mockolate to 1.0.2 by @​renovate[bot]
in TestableIO/System.IO.Abstractions#1411
* chore: bump Mockolate to v1.0.3 by @​vbreuss in
TestableIO/System.IO.Abstractions#1412
* chore(deps): update dependency sharpcompress to 0.44.3 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1414
* chore(deps): update dependency sharpcompress to 0.44.4 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1415
* chore(deps): update dependency sharpcompress to 0.44.5 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1416
* chore(deps): update dependency mockolate to 1.0.4 by @​renovate[bot]
in TestableIO/System.IO.Abstractions#1417
* chore(deps): update dependency mockolate to 1.1.0 by @​renovate[bot]
in TestableIO/System.IO.Abstractions#1418
* chore(deps): update dependency mockolate to 1.2.0 by @​renovate[bot]
in TestableIO/System.IO.Abstractions#1419
* chore(deps): update dependency mockolate to 1.3.0 by @​renovate[bot]
in TestableIO/System.IO.Abstractions#1420
* chore(deps): update dependency mockolate to 1.4.0 by @​renovate[bot]
in TestableIO/System.IO.Abstractions#1421
* chore(deps): update dependency system.text.json to 10.0.3 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1422
* chore: bump Mockolate to v1.4.1 by @​vbreuss in
TestableIO/System.IO.Abstractions#1423
* chore(deps): update dependency sharpcompress to 0.45.0 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1425
* chore(deps): update dependency sharpcompress to 0.45.1 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1426
* chore(deps): update dependency dotnet-sdk to v10.0.103 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1427
* chore(deps): update dependency sharpcompress to 0.46.0 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1428
* chore(deps): update dependency coverlet.collector to v8 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1429
* chore(deps): update dependency sharpcompress to 0.46.1 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1430
* chore(deps): update dependency sharpcompress to 0.46.2 by
@​renovate[bot] in
TestableIO/System.IO.Abstractions#1431
* chore(deps): update dependency nunit to 4.5.0 by @​renovate[bot] in
TestableIO/System.IO.Abstractions#1432
* chore(deps): update dependency
testably.abstractions.filesystem.interface to 10.1.0 by @​renovate[bot]
in TestableIO/System.IO.Abstractions#1433
 ... (truncated)

Commits viewable in [compare
view](TestableIO/System.IO.Abstractions@v22.1.0...v22.1.1).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=System.IO.Abstractions&package-manager=nuget&previous-version=22.1.0&new-version=22.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state: released Issues that are released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants