使用 Microsoft Fakes 填充 SerialPort 对象
Using Microsoft Fakes to shim SerialPort object
我想为调用 System.IO.Ports.SerialPort
对象的 class 编写单元测试。我需要 return canned/simulated 来自假串口的数据。当我为 System.dll
创建 Fakes 程序集时,它会生成 System.IO.Ports.Fakes.StubSerialPort
但不会生成 System.IO.Ports.Fakes.ShimSerialPort
。 StubSerialPort
似乎不包含很多方法,大部分只是构造函数。我在任何地方都找不到这样做的例子,所以我在这里发帖。我是 运行 VS 2017 企业。
微软的回答here。
出于性能原因,默认情况下,Fakes 不会在 System/mscorlib 模块中为所有类型生成垫片。要告诉它为 "System.IO.Ports" 生成垫片,您可以在 mscorlib.fakes 和 system.fakes 中为您的项目设置以下内容:
<ShimGeneration>
<Add Namespace="System.IO.Ports!"/>
</ShimGeneration>
我想为调用 System.IO.Ports.SerialPort
对象的 class 编写单元测试。我需要 return canned/simulated 来自假串口的数据。当我为 System.dll
创建 Fakes 程序集时,它会生成 System.IO.Ports.Fakes.StubSerialPort
但不会生成 System.IO.Ports.Fakes.ShimSerialPort
。 StubSerialPort
似乎不包含很多方法,大部分只是构造函数。我在任何地方都找不到这样做的例子,所以我在这里发帖。我是 运行 VS 2017 企业。
微软的回答here。
出于性能原因,默认情况下,Fakes 不会在 System/mscorlib 模块中为所有类型生成垫片。要告诉它为 "System.IO.Ports" 生成垫片,您可以在 mscorlib.fakes 和 system.fakes 中为您的项目设置以下内容:
<ShimGeneration>
<Add Namespace="System.IO.Ports!"/>
</ShimGeneration>