ArchUnitNET icon indicating copy to clipboard operation
ArchUnitNET copied to clipboard

error message improvement

Open wolframhaussig opened this issue 11 months ago • 2 comments

I created a test library with a simple single class:

    public class Class1
    {
        private static object LOCK_OBJECT = new object();
    }

My tests look like this:

    [TestClass]
    public class UnitTest1
    {
        internal static readonly ArchUnitNET.Domain.Architecture ARCHITECTURE = new ArchLoader().LoadAssemblies(
                                            typeof(Class1).Assembly).Build();
        [TestMethod]
        public void TestMethod1()
        {
            Types()
                .That().ResideInNamespace("ClassLibrary1")
                .Should().OnlyDependOn(
                    Types().That().ResideInAssembly("System")
                    )
                .Check(ARCHITECTURE);
        }
    }

This test complains about:

Assert.Fail failed. "Types that reside in namespace with full name "ClassLibrary1" should only depend on Types that reside in assembly with full name "System"" failed: ClassLibrary1.Class1 does depend on System.Object and System.Runtime.CompilerServices.NullableAttribute and ClassLibrary1.Class1

Note that it also complains about system types. When I add .Or().ResideInNamespace("ClassLibrary1"), the test succeeds.

Is it possible to only complain about types that real errors instead of complaining about all references? Or am I missing something?

wolframhaussig avatar Mar 11 '24 05:03 wolframhaussig