У меня есть кроссплатформенное консольное приложение C # .NET Core.
У меня есть код, который зависит от ОС, например:
public int Foo(){
if (Environment.OSVersion.Platform == PlatformID.Unix)
return -1;
return 1;
}
Как мне написать модульный тест, который будет выполняться на Windows , и проверить, что когда код будет работать в Linux , он вернет -1
?
Как подделать Environment.OSVersion.Platform
?
(Есть ли причина, по которой я не смог использовать ShimsContext?)