skip to Main Content

I’ve created a EntityFramework ASP.NET solution and i’m trying to create a XUnit test project to test my differents classes i’ve created.

I’ve created a TestClass for my Activity Class :

using LADS_Model;
using LADS_WebUI.Controllers;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Collections.Generic;
using Xunit;
using Assert = Microsoft.VisualStudio.TestTools.UnitTesting.Assert;

namespace LADS_XUnit
{
    public class UnitTest_Activity
    {
        [TestClass]
        public class ActivityController
        {
            private List<Activity> GetTestActivities()
            {
                var testActivities = new List<Activity>();
                testActivities.Add(new Activity { Id = 1, Name = "Chaussure" });
                testActivities.Add(new Activity { Id = 2, Name = "Crevettes" });
                testActivities.Add(new Activity { Id = 3, Name = "Sandwich" });
                return testActivities;
            }

            [TestMethod]
            public void GetAllActivities_ShouldReturnAllActivities()
            {
                var testActivities = GetTestActivities();
                var controller = new ActivityController();

                var result = controller.GetTestActivities();
                Assert.Equals(testActivities.Count, result.Count);
            }
        }


    }
}

The problem is that when I launch my testClass, I do have the Test showing up in the test Explorer but VS tells me that the test did not execute and I have no idea why because it’s not showing any errors or any messages to explain why it didnt execute

capture of my test view

Output of Tests :
Output Tests

2

Answers



  1. I see you have this:

    using Assert = Microsoft.VisualStudio.TestTools.UnitTesting.Assert;
    

    …so I assume you’re porting existing MSTest code to xUnit, in which case rather than changing the attributes in your code-base, you could alias MSTest’s attributes to xUnit:

    using TestClassAttribute  = SomeDummyAttribute;
    using TestMethodAttribute = Xunit.FactAttribute;
    
    internal sealed class SomeDummyAttribute : Attribute {}
    

    If you’re using C# 10.0 or later you can use global using which will be shared by all source-files in the same project.

    Also, consider using Shouldly or Fluent Assertions instead of the Assert/Asserts classes.

    Login or Signup to reply.
  2. I had a different issue with pretty much the exact same symptoms. In my case I was simply missing the nuget package xunit.runner.visualstudio which I had removed during some nuget troubleshooting.

    It worked again immediately after installing it through the nuget GUI in Visual Studio.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search