如何在没有“;程序定义了多个入口点”;在Nunit测试中(ASP.NET核心项目,可视化代码)
我创建了asp.net核心项目-如何在没有“;程序定义了多个入口点”;在Nunit测试中(ASP.NET核心项目,可视化代码),asp.net,api,nunit,core,Asp.net,Api,Nunit,Core,我创建了asp.net核心项目-dotnet新web api- 在VisualStudio代码中(甚至没有调试器支持) 具有针对x86系统的c#扩展)。 然后我需要实现Nunit测试。 我在一个项目中使用dotnetnewnunit命令创建了 文件夹以及控制器、存储库、模型文件夹。 然后我在test.csroj中传递了对外部项目的引用。 事实上,我需要通过考试 到我的main.csproj文件 这些将自动创建要使用的依赖项 我的testfixture类文件中的Nunit类 <ItemGro
dotnet新web api
-
在VisualStudio代码中(甚至没有调试器支持)
具有针对x86系统的c#扩展)。
然后我需要实现Nunit测试。
我在一个项目中使用dotnetnewnunit
命令创建了
文件夹以及控制器、存储库、模型文件夹。
然后我在test.csroj中传递了对外部项目的引用。
事实上,我需要通过考试
到我的main.csproj文件
这些将自动创建要使用的依赖项
我的testfixture类文件中的Nunit类
<ItemGroup>
<PackageReference Include="NUnit" Version="3.11.0"/>
<PackageReference Include="NUnit3TestAdapter" Version="3.11.0"/>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0"/>
</ItemGroup>
看来我可以从中删除这些引用
test.csproj,它们是在dotnet new nunit期间创建的(事实上我离开了,
因为如果没有这些复制品,它也可能无法工作)。。。
实际上,这里我用main方法得到了两个自动生成的文件,
除了basic Program.cs文件中的Main之外,我还需要添加注释
在最后一种情况下运行nunit测试。
这似乎是这里的主要问题,我不知道如何开脱。
这个-
//告诉它应该解析CS0017程序定义了多个入口点。使用/main编译以指定包含入口点的类型。
虽然我没有试着用这样的文字
<GenerateProgramFile Condition="'$(GenerateProgramFile)' == ''">true</GenerateProgramFile>
true
正如我所建议的,这与先前的建议相同。
此外,在某些组合中,存在自动生成的测试的依赖性
outerproject obj Main()上的Main(),因此在Program.cs中有注释的Main()无法启动
总的来说。
我也无法添加ExeöMyProject.csproj
因为它是web api,而不是控制台项目。
因此,使用Main()临时免除自动生成文件的唯一一半决定,
并且不注释main()Program.cs
was将删除MainProject.csproj中的
然后离开
<ItemGroup>
<PackageReference Include="NUnit" Version="3.11.0"/>
<PackageReference Include="NUnit3TestAdapter" Version="3.11.0"/>
。。。
在Test.csproj中包含所有三个项目。
所以要进行dotnet测试并运行dotnet,我需要删除Testsubfolder中的obj文件夹,
或者删除BooksApi\Tests\obj\Debug\netcoreapp2.2中的Tests.Program.cs文件
运行测试后出现的问题???
如何从整体上免除Main的自动生成???什么是“Microsoft.NET.Test.Sdk”的角色包引用为什么不只使用NUnit3TestAdapter,事实上,前者似乎创建了控制台测试输出和结果。这似乎是一个简单的问题-如何在可视化代码中对asp.NET核心进行单元测试。为什么我也需要主项目文件中的包引用,如何禁用自动生成的文件?如果不是在stackoverflow上,我在哪里可以得到答案?如果没有Visual Studio,没有人为asp.net core创建nunit、xunit和其他测试吗??那么,在VisualStudio2017(csproj配置文件)中如何执行呢??您是否创建它(仅使用dotnet new nunit)并仅从cmd行运行(dotnet test),并且-不使用任何测试Exporer进行创建和运行??在Visual Studio Ide中,使用重复出现的Main()方法自动生成文件可能没有问题?
<GenerateProgramFile Condition="'$(GenerateProgramFile)' == ''">true</GenerateProgramFile>
<ItemGroup>
<PackageReference Include="NUnit" Version="3.11.0"/>
<PackageReference Include="NUnit3TestAdapter" Version="3.11.0"/>