Regression: Property stubs not working on sub mock (@aaronburro, #1240)
4.17.1 (2022-02-26)
Added
SetupSet, VerifySet methods for mock.Protected().As<>() (@tonyhallett, #1165)
New Throws method overloads that allow specifying a function with or without parameters, to provide an exception, for example .Throws(() => new InvalidOperationException())
and Setup(x => x.GetFooAsync(It.IsAny<string>()).Result).Throws((string s) => new InvalidOperationException(s)). (@adam-knights, #1191)
Changed
Update package reference to Castle.Core (DynamicProxy) from version 4.4.0 to 4.4.1 (@stakx, #1233)
Fixed
The guard against unmatchable matchers (added in #900) was too strict; relaxed it to enable an alternative user-code shorthand _ for It.IsAny<>() (@adamfk, #1199)
mock.Protected() setup methods fail when argument is of type Expression (@tonyhallett, #1189)
Parameter is invalid in Protected().SetupSet() ... VerifySet (@tonyhallett, #1186)
Virtual properties and automocking not working for mock.Protected().As<>() (@tonyhallett, #1185)
Issue mocking VB.NET class with overloaded property/indexer in base class (@myurashchyk, #1153)
Equivalent arrays don't test equal when returned from a method, making Verify fail when it should not (@evilc0, #1225)
Property setups are ignored on mocks instantiated using Mock.Of (@stakx, #1066)
SetupAllProperties causes mocks to become race-prone (@estrizhok, #1231)
4.17.0
This version was skipped due to an intermittent NuGet publishing issue.
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 commands and options
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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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)
Bumps Moq from 4.15.2 to 4.17.2.
Changelog
Sourced from Moq's changelog.
... (truncated)
Commits
803ad5c
Update version to 4.17.283a9874
Merge pull request #1241 from stakx/setup-property-recursivee4c46d7
Update the changelogf7d5cba
MakeSetupProperty
work w/ recursive expressions againf160ad8
Failing tests forSetupProperty
on sub-mockdcf631e
Update version to 4.17.1759aa05
Update nuget API key4d052c1
Merge pull request #1234 from stakx/stubbedpropertiessetupe30183b
Update the changelog5014bd0
Switch toConcurrentDictionary
for better thread-safetyDependabot 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 commands and options
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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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)