Comments (5)
Actually, I'm unsure of this.
Forgetting about the analyser for now (I just disabled it), I nonetheless get this exception;
Exception thrown: 'Castle.DynamicProxy.InvalidProxyConstructorArgumentsException' in Castle.Core.dll
Weird, those args are optional, I'd have thought this would work?
from nsubstitute.analyzers.
Hi @lonix1. As you've seen Castle.Core
throws exception even though parameters are options, that is why NSubstitute.Analyzers
reports warning. Perhaps we should change warning message to sth more self explanatory. @dtchepak any thoughts on that?
Weird, those args are optional, I'd have thought this would work?
I assume this is limitation of Catle.Core rather than issue with NSubstitute
itself, however I dont know that much about internals of NSubstitute. @dtchepak do you maybe know if this is this known problem of Castle.Core?
from nsubstitute.analyzers.
Your idea of a more descriptive warning is good. It will let the user know that it is "normal" and there is nothing he can do about it.
from nsubstitute.analyzers.
IIRC optional arguments are injected at compile-time? In that case Castle.Core will have no way of knowing what to pass to the constructor. (see also this thread).
Does Roslyn provide access to optional param information? If so maybe that should be a new error explaining optional parameters must be passed explicitly (possibly quick fix to pass the defaults?).
from nsubstitute.analyzers.
Does Roslyn provide access to optional param information? If so maybe that should be a new error explaining optional parameters must be passed explicitly (possibly quick fix to pass the defaults?).
Yes, we can extract default values with Roslyn
I will try to figure out how to use it in ctor matching logic
from nsubstitute.analyzers.
Related Issues (20)
- Respect VS naming styles when introducing substitute HOT 3
- Add .netstandard2.0 target to NSubstitute.Analyzers.CSharp HOT 1
- False positive on NS5000 when received method is static. HOT 3
- Make benchmarks discoverable by Benchmark.NET again
- NS5000 when checking if an event subscription was received. HOT 4
- NS1004 warning, when using static wrapper class HOT 2
- NS2002 falsely triggered when substituting an interface HOT 5
- Make NS1004 distinguish between non-virtual members and extension methods HOT 1
- Detect non virtual received checks for event subscription
- Analyzer for misuse of `Arg.Any<T>` in xunits `Asert.Throws<T>`? HOT 1
- NS2003 false-positive when InternalsVisibleTo is defined in .csproj HOT 1
- False positive NS5000 for async Received() calls HOT 2
- Disable CallInfo analysis when Arg.AnyType used for argument matching HOT 2
- NS1004 false positive when using argument matcher in a separate method
- Migrate CI/CD to GitHub actions
- NS5000 warning when using custom substitute extensions for checking stuff HOT 1
- NS3000: False positive when getting indexer value
- NS2001: False positive for class with protected internal constructor
- Suppress CS4014 when `.Received()` is used HOT 1
- Change PackageLicenseFile to PackageLicenseExpression
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 nsubstitute.analyzers.