我想为一个调用System.IO.Ports.SerialPort
对象的类编写一个单元测试。我需要从伪造的串口返回罐装/模拟数据。当我为System.dll
创建Fakes程序集时,它会生成System.IO.Ports.Fakes.StubSerialPort
但不生成System.IO.Ports.Fakes.ShimSerialPort
。 StubSerialPort
似乎不包含很多方法,主要是构造函数。我无法在任何地方找到任何这样的例子,所以我在这里发帖。我正在运行VS 2017 Enterprise。
答案 0 :(得分:0)
微软的回答here。
出于性能原因,默认情况下,Fakes不会在System / mscorlib模块中为所有类型生成垫片。要告诉它为“ System.IO.Ports”生成填充,您可以在mscorlib.fakes和system.fakes中为您的项目设置以下内容:
<ShimGeneration>
<Add Namespace="System.IO.Ports!"/>
</ShimGeneration>