.NET测试Linux代码取决于Windows上的Environment.OSVersion.Platform

时间:2019-05-01 11:31:44

标签: c# unit-testing unix .net-core

我有一个.NET Core跨平台C#控制台应用程序。

我有一个依赖于操作系统的代码,例如:

public int Foo(){
    if (Environment.OSVersion.Platform == PlatformID.Unix)
        return -1;
    return 1;
}

如何编写将在 Windows 上运行的单元测试,并验证当代码在 Linux 上运行时它将返回-1? / p>

如何伪造Environment.OSVersion.Platform

(是否有不能使用ShimsContext的原因?)

0 个答案:

没有答案