Ejemplo n.º 1
0
 public void RecordResult(TestResult testResult)
 {
     _monitor.RecordResult(testResult.Convert());
     _monitor.RecordMessage(Common.Models.TestMessageLevel.Informational, "   " + testResult.Outcome.ToString().PadRight(_outcomeLength) + testResult.TestCase.FullyQualifiedName);
 }
Ejemplo n.º 2
0
        private bool TryLoadExecutor(string adapterSource, string extensionUri, out ITestExecutor testExecutor)
        {
            testExecutor = null;
            try
            {
                _monitor.RecordMessage(TestMessageLevel.Informational, $">> Loading assembly from {adapterSource}...");
                var assembly     = Assembly.LoadFrom(adapterSource);
                var implementers = assembly.FindImplementers <ITestExecutor>();
                foreach (var implementer in implementers)
                {
                    try
                    {
                        var uriAttribute = implementer.GetCustomAttribute <ExtensionUriAttribute>();
                        if (uriAttribute == null || !StringComparer.OrdinalIgnoreCase.Equals(uriAttribute.ExtensionUri, extensionUri))
                        {
                            continue;
                        }

                        testExecutor = Activator.CreateInstance(implementer) as ITestExecutor;
                        _monitor.RecordMessage(TestMessageLevel.Informational, $"|| Loaded executor: {implementer.FullName}");
                        break;
                    }
                    catch (Exception e)
                    {
                        _monitor.RecordMessage(TestMessageLevel.Warning, $"|| Could not load executor {implementer.FullName}.\r\n{e.GetDescription()}");
                    }
                }

                _monitor.RecordMessage(TestMessageLevel.Informational, $"<< Assembly loaded.");
            }
            catch (Exception e)
            {
                _monitor.RecordMessage(TestMessageLevel.Error, $"<< Could not load assembly {adapterSource}!\r\n{e.GetDescription()}");
            }
            return(testExecutor != null);
        }