【发布时间】:2020-10-21 23:39:46
【问题描述】:
Moq 不想在 net core 3.1 上使用 ActiroSoftware
我遇到以下问题:创建具有以下结构的 net core 3.1 项目:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>netcoreapp3.1</TargetFrameworks>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Moq" Version="4.14.7" />
<PackageReference Include="Actiprosoftware.Controls.WPF" Version="20.1.0" />
</ItemGroup>
</Project>
然后在 Program.cs 中尝试编写以下内容:
using Moq;
namespace moqtest
{
class Program
{
static void Main(string[] args)
{
var q = It.IsAny<string>();
}
}
}
请注意,由于以下错误,这不会编译:
error CS0234: The type or namespace name 'IsAny' does not exist in the namespace 'It' (are you missing an assembly reference?)
此外,隐式指定命名空间将起作用:
var q = Moq.It.IsAny<string>();
我查看了 msbuild 诊断,似乎一切都与 netcoreapp3.1 兼容,但是当你编译它时,它似乎不再识别 It 类了。
请帮忙!
【问题讨论】:
标签: c# unit-testing .net-core moq