我有一个.NET Core跨平台C#控制台应用程序。
我有一个依赖于操作系统的代码,例如:
public int Foo(){
if (Environment.OSVersion.Platform == PlatformID.Unix)
return -1;
return 1;
}
如何编写将在 Windows 上运行的单元测试,并验证当代码在 Linux 上运行时它将返回-1
? / p>
如何伪造Environment.OSVersion.Platform
?
(是否有不能使用ShimsContext的原因?)