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); }
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; }
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); } } } } }