Reputation: 2868
I want to write a unit test for a class that makes calls to a System.IO.Ports.SerialPort
object. I need to return canned/simulated data from a fake serial port. When I create a Fakes assembly for System.dll
it generates a System.IO.Ports.Fakes.StubSerialPort
but no System.IO.Ports.Fakes.ShimSerialPort
. The StubSerialPort
doesn't appear to contain many methods, mostly just constructors. I can't find any examples anywhere for doing this, so I'm posting here. I'm running VS 2017 Enterprise.
Upvotes: 2
Views: 472
Reputation: 2868
Microsoft's answer here.
For performance reasons Fakes does not generate shims for all types by default in the System/mscorlib modules. To tell it to generate shims for "System.IO.Ports" you could set the following in mscorlib.fakes and system.fakes for your project:
<ShimGeneration>
<Add Namespace="System.IO.Ports!"/>
</ShimGeneration>
Upvotes: 0