コード例 #1
0
        public static void SkipReason()
        {
            var factAttribute = Mocks.FactAttribute(skip: "Skip Reason");
            var testMethod    = Mocks.TestMethod(methodAttributes: new[] { factAttribute });

            var testCase = new TestableXunitTestCase(testMethod);

            Assert.Equal("Skip Reason", testCase.SkipReason);
        }
コード例 #2
0
        public static void Timeout()
        {
            var factAttribute = Mocks.FactAttribute(timeout: 42);
            var testMethod    = Mocks.TestMethod(methodAttributes: new[] { factAttribute });

            var testCase = new TestableXunitTestCase(testMethod);

            Assert.Equal(42, testCase.Timeout);
        }
コード例 #3
0
        public static void DisplayName()
        {
            var factAttribute = Mocks.FactAttribute(displayName: "Custom Display Name");
            var testMethod    = Mocks.TestMethod(methodAttributes: new[] { factAttribute });

            var testCase = new TestableXunitTestCase(testMethod);

            Assert.Equal("Custom Display Name", testCase.DisplayName);
        }
コード例 #4
0
        public static void TraitsOnTestClass()
        {
            var trait1     = Mocks.TraitAttribute("Trait1", "Value1");
            var trait2     = Mocks.TraitAttribute("Trait2", "Value2");
            var testMethod = Mocks.TestMethod(classAttributes: new[] { trait1, trait2 });

            var testCase = new TestableXunitTestCase(testMethod);

            Assert.Equal("Value1", Assert.Single(testCase.Traits["Trait1"]));
            Assert.Equal("Value2", Assert.Single(testCase.Traits["Trait2"]));
        }
コード例 #5
0
        public static void DisplayNameWithArguments()
        {
            var factAttribute = Mocks.FactAttribute(displayName: "Custom Display Name");
            var param1        = Mocks.ParameterInfo("p1");
            var param2        = Mocks.ParameterInfo("p2");
            var param3        = Mocks.ParameterInfo("p3");
            var testMethod    = Mocks.TestMethod(methodAttributes: new[] { factAttribute }, parameters: new[] { param1, param2, param3 });
            var arguments     = new object[] { 42, "Hello, world!", 'A' };

            var testCase = new TestableXunitTestCase(testMethod, arguments);

            Assert.Equal("Custom Display Name(p1: 42, p2: \"Hello, world!\", p3: 'A')", testCase.DisplayName);
        }
コード例 #6
0
        public static void CustomTraitWithoutDiscoverer()
        {
            var trait      = Mocks.TraitAttribute <BadTraitAttribute>();
            var testMethod = Mocks.TestMethod(classAttributes: new[] { trait });
            var messages   = new List <_MessageSinkMessage>();
            var spy        = SpyMessageSink.Create(messages: messages);

            var testCase = new TestableXunitTestCase(testMethod, diagnosticMessageSink: spy);

            Assert.Empty(testCase.Traits);
            var diagnosticMessages = messages.OfType <_DiagnosticMessage>();
            var diagnosticMessage  = Assert.Single(diagnosticMessages);

            Assert.Equal($"Trait attribute on '{testCase.DisplayName}' did not have [TraitDiscoverer]", diagnosticMessage.Message);
        }
コード例 #7
0
        public static void CustomTraitWithoutDiscoverer()
        {
            var spy = SpyMessageSink.Capture();

            TestContext.Current !.DiagnosticMessageSink = spy;
            var trait      = Mocks.TraitAttribute <BadTraitAttribute>();
            var testMethod = Mocks.TestMethod(classAttributes: new[] { trait });

            var testCase = new TestableXunitTestCase(testMethod);

            Assert.Empty(testCase.Traits);
            var diagnosticMessages = spy.Messages.OfType <_DiagnosticMessage>();
            var diagnosticMessage  = Assert.Single(diagnosticMessages);

            Assert.Equal($"Trait attribute on '{testCase.TestCaseDisplayName}' did not have [TraitDiscoverer]", diagnosticMessage.Message);
        }
コード例 #8
0
        public void ReturnsCorrectCustomAttributes(Type classType, IEnumerable <string> expectedTraits)
        {
            var testAssembly   = new TestAssembly(new ReflectionAssemblyInfo(classType.Assembly));
            var testCollection = new TestCollection(testAssembly, null, "Trait inheritance tests");
            var @class         = new ReflectionTypeInfo(classType);
            var testClass      = new TestClass(testCollection, @class);
            var methodInfo     = new ReflectionMethodInfo(classType.GetMethod("TraitsTest") !);
            var testMethod     = new TestMethod(testClass, methodInfo);
            var testCase       = new TestableXunitTestCase(testMethod);

            var testTraits = testCase.Traits["Test"];

            Assert.NotNull(testTraits);
            foreach (var expectedTrait in expectedTraits)
            {
                Assert.Contains(expectedTrait, testTraits);
            }
        }