Exemplo n.º 1
0
        private void ExploreTestMethod(IProject project, XunitTestClassElement classUnitTestElement, IUnitTestElementsObserver observer, IMethodInfo methodInfo)
        {
            var methodUnitTestElement = unitTestElementFactory.GetOrCreateTestMethod(project, classUnitTestElement, new ClrTypeName(methodInfo.TypeName), methodInfo.Name,
                                                                                     MethodUtility.GetSkipReason(methodInfo), methodInfo.GetTraits(), false);

            observer.OnUnitTestElement(methodUnitTestElement);
        }
Exemplo n.º 2
0
        private void ExploreTestMethod(IProject project, XunitTestClassElement classUnitTestElement, UnitTestElementConsumer consumer, IMethodInfo methodInfo)
        {
            var methodUnitTestElement = unitTestElementFactory.GetOrCreateTestMethod(project, classUnitTestElement, new ClrTypeName(methodInfo.TypeName), methodInfo.Name,
                                                                                     MethodUtility.GetSkipReason(methodInfo), methodInfo.SafelyGetTraits(), false);

            consumer(methodUnitTestElement);
        }
        private IUnitTestElement ProcessTestMethod(IMethod method, IList<IUnitTestElement> subElements)
        {
            var type = method.GetContainingType();
            var @class = type as IClass;
            if (type == null || @class == null)
                return null;

            var typeInfo = @class.AsTypeInfo();
            if (@class.IsAbstract && TypeUtility.ContainsTestMethods(typeInfo))
                return ProcessTestMethodInAbstractClass(method, subElements);

            if (!IsValidTestClass(@class))
                return null;

            var command = TestClassCommandFactory.Make(typeInfo);
            if (command == null)
                return null;

            var testClassElement = classes[type];
            if (testClassElement == null)
                return null;

            var methodInfo = method.AsMethodInfo(typeInfo);
            if (command.IsTestMethod(methodInfo))
            {
                var clrTypeName = type.GetClrName();
                return unitTestElementFactory.GetOrCreateTestMethod(project, testClassElement, clrTypeName, method.ShortName, 
                    MethodUtility.GetSkipReason(methodInfo), methodInfo.GetTraits(), false);
            }

            return null;
        }
Exemplo n.º 4
0
            public void SkipReasonParameter()
            {
                Type       testClassType = typeof(SkipTestClass);
                MethodInfo methodInfo    = testClassType.GetMethod("TestAttributeWithSkipReason");

                string skipReason = MethodUtility.GetSkipReason(Reflector.Wrap(methodInfo));

                Assert.Equal("reason", skipReason);
            }
        public IEnumerable <ITestCommand> EnumerateTestCommands(IMethodInfo testMethod)
        {
            string skipReason = MethodUtility.GetSkipReason(testMethod);

            if (skipReason != null)
            {
                yield return(new SkipCommand(testMethod, MethodUtility.GetDisplayName(testMethod), skipReason));
            }
            else
            {
                yield return(new FixtureCommand(new FactCommand(testMethod), _fixtures));
            }
        }
        private void AppendTests(XunitTestClassElement classElement, ITypeInfo typeInfo, IEnumerable<IDeclaredType> types)
        {
            foreach (var declaredType in types)
            {
                if (declaredType.GetClrName().Equals(PredefinedType.OBJECT_FQN))
                    continue;

                var typeElement = declaredType.GetTypeElement();
                if (typeElement != null)
                {
                    var methodInfo = new PsiMethodInfoAdapter();
                    foreach (var method in typeElement.GetMembers().OfType<IMethod>())
                    {
                        methodInfo.Reset(method, typeInfo);
                        if (MethodUtility.IsTest(methodInfo))
                        {
                            unitTestElementFactory.GetOrCreateTestMethod(project, classElement, typeElement.GetClrName(),
                                                                         method.ShortName, MethodUtility.GetSkipReason(methodInfo),
                                                                         methodInfo.GetTraits(), false);
                        }
                    }
                }
            }
        }