我使用的是最新的VS2017版本15.6.4,NUnit3TestAdapter 3.10.0和Nunit版本3.9.0.0。
当我尝试在测试资源管理器中运行单元测试时,测试显示为灰色,当我右键单击并运行选定的测试时,我看到以下错误:没有可用的测试 以下是我的测试类的外观
[TestFixture]
public partial class ListViewBOTest
{
[Test]
public void TestSearch_DateTime()
{
Assert.AreEqual(1,0);
}
}
来自输出的文字:
[3/26/2018 10:53:55 AM Informational] ------ Run test started ------
[3/26/2018 10:53:55 AM Informational] NUnit Adapter 3.10.0.21: Test execution started
[3/26/2018 10:53:55 AM Informational] Running all tests in C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll
[3/26/2018 10:53:56 AM Informational] NUnit failed to load C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll
[3/26/2018 10:53:56 AM Informational] NUnit Adapter 3.10.0.21: Test execution complete
[3/26/2018 10:53:56 AM Warning] No test is available in C:\Projects\MVPPlant\DEV\CMMSdg.Plant\CMMSdg.Plant\Sln.2010\CMMSdg.Plant.BusinessObjects.Test\bin\Debug\CMMSdg.Plant.BusinessObjects.Test.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
[3/26/2018 10:53:56 AM Informational] ========== Run test finished: 0 run (0:00:01.0435303) ==========
答案 0 :(得分:23)
确保您已从此处安装NUnit3测试适配器
https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnit3TestAdapter
答案 1 :(得分:14)
您可以查看以下步骤,看看它是否有效吗?
Test > Test Settings > Default Processor Architecture
并记下选择X86
或X64
Build
窗口中的Properties
部分。确保Platform target
下拉菜单选择为Any CPU
,或至少与上述step 1
中的架构相匹配。现在,如果您构建解决方案并尝试运行这些测试,您应该会看到它们正在运行。
答案 2 :(得分:1)
我发现我的构建事件是错误的。无效的复制命令将我的所有测试都吹了半天:
Copy C:\repo\Architecture\*.json $(ProjectPath)/Y
Copy C:\repo\Architecture\*.json $(TargetPath) /Y
而不是
Copy C:\repo\Architecture\*.json $(ProjectDir)/Y
Copy C:\repo\Architecture\*.json $(TargetDir) /Y
答案 3 :(得分:1)
我遇到了和Amete一样的问题Blessed并且评论了其他Test方法让Test Explorer工作并运行我的测试
答案 4 :(得分:1)
“测试输出”窗口中的消息(“ NUnit无法加载[assembly]”,“没有可用的测试...”等)可能隐藏了导致运行程序无法加载测试程序集的潜在问题。这包括隐藏无法加载测试程序集或被测项目的依赖项。
如果“测试资源管理器”窗口中显示了一个测试程序集,但测试拒绝运行,则值得暂时启用融合日志记录,以查看尝试运行测试时是否发生任何程序集绑定错误。
答案 5 :(得分:1)
通过nuget安装NUnit之后,测试已经出现在Test Explorer中 但是当我运行它们时,我得到“没有测试可用”。 安装NUnit测试适配器可以解决此问题。
答案 6 :(得分:0)
你可能是this problem的牺牲品,在理论上已经在15.6.3中解决了。根据{{3}},请尝试删除您的%temp%\VisualStudioTestExplorerExtensions
文件夹。这解决了其他一些用户的问题。
答案 7 :(得分:0)
您可以右键单击解决方案并从那里运行单元测试,而不是使用测试资源管理器吗?
答案 8 :(得分:0)
使用Xamarin.Forms时,我遇到了类似的问题。 解决方案是从NuGet安装NUnit.XForms并添加
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.3.0" />
到测试所在项目的csproj文件。
答案 9 :(得分:0)
有同样的问题。就我而言,我发现如果您的测试项目包含对MSTest的引用,则Test Explorer将不会使用NUnit测试适配器。通常是Microsoft.VisualStudio.TestPlatform.TestFramework.dll,但也要检查.csproj文件中的“ MSTest”和packages.config文件。
我是通过首先为Visual Studio测试启用诊断日志记录来发现此问题的。在“工具”->“选项”->“测试”->“日志记录级别”下找到。
在我的日志中,找到以下条目:
[22/11/2018 10:36:42诊断]项目C:\ Git \ myProject \ src \ myProject.Tests \ myProject.Tests.csproj引用测试适配器:MSTest.TestAdapter,版本1.1.18
答案 10 :(得分:0)
对我有用的是删除位于ComponentModelCache
的{{1}}文件夹
答案 11 :(得分:0)
这是由于内存问题引起的。
示例代码
private TestController testController;
[OneTimeSetUp]
public void TestSetup()
{
testController= new TestController();
}
[OneTimeTearDown]
public void TestCleanup()
{
testController= null;
}
测试->测试设置->默认处理器体系结构-> x64。
答案 12 :(得分:0)
我也遇到了同样的问题。
解决此问题的步骤-
dotenv.config()
注意-还要确保所有软件包都已正确安装。
现在尝试执行测试。
答案 13 :(得分:0)
我遇到了同样的问题,但是在通过NuGet将“ NUnit 3 TestAdapter版本3.16.1”安装到我的项目后,该问题已得到解决。