自从我安装它以来,我一直在与VS 2017挣扎.现在似乎单元测试只能从命令行"dotnet test"运行.
我的项目是.NET Core 1.1.1.我安装了SDK和1.1.1的框架更新.
我在MSDN上尝试了这个示例(https://msdn.microsoft.com/en-us/library/ms182532.aspx),它也完全失败了.
测试和主项目的所有NuGet包都是最新的.测试项目和主项目都没有错误地构建.测试从命令行成功运行.
有没有人在VS 2017中进行单元测试,如果是这样的话怎么样?
谢谢,约翰
以下是一个不能在GitHub上运行的简单测试项目的示例.这是xUnit的一个例子,但我尝试过在MS测试中构建的NUnit和visual studio.无论我做什么测试或改变我都无法让VS测试运行器找到任何测试.
DEL %TEMP%\VisualStudioTestExplorerExtensionsMicrosoft.DotNet.InternalAbstractions(参见SO帖子)test -> test settings -> default processor architecture 设置为x86问题
任何人都可以在VS2017(.csproj项目文件)中提供.Net Core 1.1.0解决方案的工作示例,其中VS测试资源管理器成功找到单元测试或在给出的示例中向我显示问题.
更新:添加2017年; VS2017使用与2015年相同的测试发现/运行器集成机制,因此可能出错的关键事项是相同的.
我已经阅读了为什么xUnit运行器没有找到我的测试,这涵盖了xUnit 永远无法找到你的测试但我的问题不同的原因 - 我相信我的测试没有任何微妙的变化; (他们在其他环境中工作过,这似乎只是我的机器) - Visual Studio 2015中的Visual Studio Test Runner [社区版]根本没有显示我的任何测试.我没有做任何令人兴奋的事情; 测试针对桌面上的xUnit.net v2.
我查看了"输出"窗口,在" 显示"选项卡的"输出"中的" 测试"下看不到任何内容.
我在visual studio 2013中有一个简单的解决方案,它由一个Web项目,一个库项目和一个单元测试项目组成.当我打开解决方案并尝试运行单元测试时,它们不会被visual studio发现.要运行测试,我尝试进入菜单并选择测试 - >运行 - >运行所有测试或打开测试资源管理器窗口.通过那些方法,visual studio不会在解决方案中发现任何测试.
首先创建一个简单的单元测试项目并尝试运行测试,visual studio知道发现测试并且我可以运行它.然后,如果我打开我以前的解决方案,visual studio现在会发现所有的测试.我尝试保存我的解决方案,但关闭它并重新打开,而不首先创建单元测试项目,visual studio没有再次找到测试.这是一个非常奇怪的行为,我不知道为什么会发生这种情况.
我曾经独自在这个项目中工作,该项目使用了与visual studio团队基础集成的源代码控制git.当一个新元素进入项目并且我需要通过在线源控件重新创建解决方案时,visual studio不会发现单元测试的问题就开始了.在此之前,所有测试总是由visual studio发现.
为了创建单元测试,我使用了dll Microsoft.VisualStudio.QualityTools.UnitTestFramework.我的Visual Studio版本是:Microsoft Visual Studio Express 2013 for Web Version 12.0.30723.00 Update 3.我的.net框架版本是4.5.50938.
我的所有测试都是这样的:
[TestClass]
public class Service1Test
{
[TestMethod]
public void Test1()
{
Assert.IsTrue(True);
}
}
Run Code Online (Sandbox Code Playgroud) 我使用的是最新的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);
}
}
Run Code Online (Sandbox Code Playgroud)
输出中的文字:
[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 …Run Code Online (Sandbox Code Playgroud) 我正在开发一个C++项目,并开发了一些测试用例.我能够执行测试用例,直到所有测试用例突然从测试资源管理器中消失.我的意思是说测试资源管理器中没有显示测试方法,即使测试项目编译正确.
我按照这里给出的步骤没有成功.
这些是我做过的事情:
%temp%文件夹的内容.X64.(Test>Test Settings>Default Processor Architecture>X64)Restarted VS2015.Restarted 系统.devenv /safemode(在命令提示符下),没有运气.devenv /ResetSettings(在命令提示符下),没有运气.笔记:
我是C#和Selenium的新手,我做了很多脚本,但是当我使用多个方法或一个以上类的单个方法并且单个类始终运行良好时,就会出现问题。
我已经尝试了Internet上所有可能的解决方案,并且尝试了一个新项目,并复制了除类名,方法名和名称空间以外的主要代码,并将其粘贴到新项目中,这是我自己尝试过的解决方案,但仍然可行我想知道真正的问题是什么。
These are the Four Classes:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SignUpPageAssignment
{
public class SignUpDetails
{
public static string registerPageReDirect = "login_register";
public static string signUpUserNameID = "username";
public static string signUpPasswordID = "password";
public static string confirmPasswordID = "re_password";
public static string fullNameID = "full_name";
public static string signUpEmailID = "email_add";
public static string signUpUserName = "TouqeerABCDEFGHI";
public static string signUpPassword = "Password@123";
public static string confirmPassword = "Password@123";
public static …Run Code Online (Sandbox Code Playgroud)