C# NUnit VS适配器2找不到我的测试

C# NUnit VS适配器2找不到我的测试,c#,nunit,C#,Nunit,也许有人在Nunit测试中遇到了同样的问题。我已经下载了Nunit和Nunit adapter,我编写了一些代码和一些单元测试,但上面说: NUnit VS Adapter 2.0.0.0 discovering test is finished ========== Discover test finished: 0 found (0:00:00,4917596) ========== 也许你能告诉我一些想法,如何解决它 我读了一些教程,它说我应该使用测试资源管理器,它自动集成了我的测试。但

也许有人在Nunit测试中遇到了同样的问题。我已经下载了Nunit和Nunit adapter,我编写了一些代码和一些单元测试,但上面说:

NUnit VS Adapter 2.0.0.0 discovering test is finished
========== Discover test finished: 0 found (0:00:00,4917596) ==========
也许你能告诉我一些想法,如何解决它

我读了一些教程,它说我应该使用测试资源管理器,它自动集成了我的测试。但什么也没发生,也许问题在于我使用的是3.0.1版本Nunit

namespace ConsoleApplication16
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Enter two numbers\n");
            int number1;
            int number2;
            number1 = int.Parse(Console.ReadLine());
            number2 = int.Parse(Console.ReadLine());

            MathsHelper helper = new MathsHelper();
            int x = helper.Add(number1, number2);
            Console.WriteLine("\nThe sum of " + number1 +
                " and " + number2 + " is " + x);
            Console.ReadKey();
            int y = helper.Subtract(number1, number2);
            Console.WriteLine("\nThe difference between " +
                  number1 + " and" + number2 + "  is " + y);
            Console.ReadKey();
        }
    }

    public class MathsHelper
    {
        public MathsHelper() { }
        public int Add(int a, int b)
        {
            int x = a + b;
            return x;
        }

        public int Subtract(int a, int b)
        {
            int x = a - b;
            return x;
        }
    }
}
测试:

using NUnit.Framework;

namespace ConsoleApplication16
{
    [TestFixture]
    public class TestClass
    {
        [TestCase]
        public void AddTest()
        {
            MathsHelper helper = new MathsHelper();
            int result = helper.Add(20, 10);
            Assert.AreEqual(30, result);
        }

        [TestCase]
        public void SubtractTest()
        {
            MathsHelper helper = new MathsHelper();
            int result = helper.Subtract(20, 10);
            Assert.AreEqual(10, result);
        }
    }
}
套餐:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="NUnit" version="3.0.1" targetFramework="net452" />
  <package id="NUnitTestAdapter" version="2.0.0" targetFramework="net452" />
</packages>

如果您使用的是Nunit 3,则必须使用NuGet中可用的适当测试适配器作为
NUnit3TestAdapter

<packages>
  <package id="NUnit" version="3.0.1" targetFramework="net452" />
  <package id="NUnit3TestAdapter" version="3.0.8-ctp-8" targetFramework="net452" />
</packages>


请注意,它目前仍处于预发布状态,因此您必须在NuGet Manager GUI中打开“包含预发布”复选框才能查看它,或者在package Manager控制台中使用
–IncludePrerelease
选项。

好的,您可以“编写一些代码和一些单元测试”,可以显示它吗?@gabba我添加了它,还添加了我使用的包。好的,但如果我想使用发布的东西,如何让它工作。我在Nuget找不到Nunit的旧版本。它正在与您的解决方案一起工作,谢谢。当然,您可以使用NUnit的旧版本,是的,它们仍然在NuGet存储库中。当您选择NUnit软件包时,只需查看GUI中的“版本”下拉列表,或者在软件包管理器控制台中使用
-version
选项。您可以看到,当我单击版本下拉列表时,只有3.0.1版本:)嗯,我不知道发生这种情况的原因。可能您的VS中有过时的NuGet。如果有可用的NuGet更新,请尝试检查工具->扩展和更新。我刚用新测试启动了新项目,所有版本都神奇地出现了:)那么,我可以将Unit adapter 2.0与Nunit 2.6一起使用吗?