Resharper Unit测试未运行

Sam*_*myn 23 c# resharper unit-testing visual-studio-2013

我正在尝试开始在项目中编写单元测试.我首先编写了createTest并尝试了它.这个测试通过,我开始编写我的其他测试.

现在我的所有测试都只是说"测试不运行".当我尝试一次运行所有测试以及运行单个测试时,都会发生这种情况.

https://github.com/Requinard/OperationOctopus/tree/UnitTest

到目前为止,我发现的是使用NUnit的人.我们使用默认的微软测试框架,使用resharper运行测试.

    [TestMethod]
    public void CreateTest()
    {
        Init.Initialize();
        // set up
        UserModel user = new UserModel();

        user.Address = "Testing Street 1";
        user.Email = "Testing@test.com";
        user.Level = 2;
        user.Password = "test";
        user.RfiDnumber = "00d0wad0aw";
        user.Telephonenumber = "0638212327";
        user.Username = "testcaseuser";

        Assert.IsTrue(user.Create(), "Cannot write user to database");

        test_user = user;
    }

    [TestMethod]
    public void ReadTest()
    {
        Init.Initialize();
        // set up
        UserModel user = getTestUser();

        Assert.AreEqual(user.Email, test_user.Email, "Reading returned an unexpected result");
    }

    [TestMethod]
    public void AlterTest()
    {
        Init.Initialize();
        UserModel user = getTestUser();

        user.Email = "test@testing.com";

        Assert.IsTrue(user.Update(), "Failure during updating");

        user.Read();

        Assert.AreNotEqual(user.Email, test_user.Email);
    }

    [TestMethod]
    public void DestroyTest()
    {
        Init.Initialize();
        UserModel user = getTestUser();

        Assert.IsTrue(user.Destroy(), "Could not destroy user");
    }
Run Code Online (Sandbox Code Playgroud)

以上测试将使resharper说"测试不运行"

我刚尝试在笔记本电脑上运行测试.他们在不对代码进行任何更改的情况下工作,并立即完成测试.这让我觉得我正在处理一个错误的配置.

Bas*_*aro 42

我认为重新启动整个系统可能有点为时过早.我发现当发生这种情况时,您需要做的就是重新启动Resharper.

我通常从Visual Studio的命令窗口执行此操作,您只需要一个接一个地键入这些命令

Resharper_Suspend
Resharper_Resume
Run Code Online (Sandbox Code Playgroud)

这通常可以解决我的问题,不需要重新打开解决方案.

如果失败,您可以清除resharper缓存.可以在此处查看有关如何执行此操作的信息.

这是如何从VS菜单中执行此操作

  • 我是通过Visual Studio选项菜单完成的.成功了! (2认同)

Ted*_*Ted 6

确保你没有做我正在做的事情,并完全忘记解决方案处于发布模式,测试项目设置为仅在调试模式下构建;-)

  • 卫生署!这就是我刚刚做的,谢谢! (2认同)

Chr*_*eau 5

ReSharper 2017.3.1中存在一个错误,该错误已于2017.3.2修复:https://blog.jetbrains.com/dotnet/2018/02/01/resharper-ultimate-2017-3-2-bugfix/

您可以更新使用ReSharper> Help> Check for Updates.

您可以通过启用日志来查看是否有相同的错误.这就是我所拥有的:

--- EXCEPTION #2/2 [LoggerException]
Message = “Passed version string '2.1.101' doesn't look to be a valid .net core sdk version”
Run Code Online (Sandbox Code Playgroud)

并最终:

|W| UnitTestLaunch | System.NullReferenceException: Object reference not set to an instance of an object.
at JetBrains.ReSharper.UnitTestProvider.nUnit.v30.NUnitServiceProvider.GetRunStrategy(IUnitTestElement element)
at JetBrains.ReSharper.UnitTestProvider.nUnit.v30.Elements.NUnitElementBase.GetRunStrategy(IHostProvider hostProvider)
at JetBrains.ReSharper.UnitTestFramework.Launch.Stages.BuildStage.CollectProjectsToBuild()
at JetBrains.ReSharper.UnitTestFramework.Launch.Stages.BuildStage.Run(CancellationToken token)
at JetBrains.ReSharper.UnitTestFramework.Launch.UnitTestLaunch.RunStage(Object stageObject)
Run Code Online (Sandbox Code Playgroud)

我的项目使用NET471,我在Visual Studio 15.6.27428.2005中运行ReSharper 2017.3.1


Sam*_*myn -7

似乎/某处/有一个错误的配置。我重新安装了整个系统,然后是 VS2013 和 R#。现在测试运行良好。

  • 对于大多数人来说,重新安装整个系统并不是一个可行的解决方案。 (7认同)
  • 焦土杀死一只苍蝇。 (4认同)