TestLogger wraps an IMessageLogger and adds various utility methods for sending messages. Since the IMessageLogger is only provided when the discovery and execution objects are called, we use two-phase construction. Until Initialize is called, the logger simply swallows all messages without sending them anywhere.
Inheritance: IMessageLogger
コード例 #1
0
 public TestConverter(TestLogger logger, string sourceAssembly)
 {
     _logger = logger;
     _sourceAssembly = sourceAssembly;
     _vsTestCaseMap = new Dictionary<string, TestCase>();
     _navigationDataProvider = new NavigationDataProvider(sourceAssembly);
 }
コード例 #2
0
 // This constructor is called by the others and is used directly for testing
 public AssemblyRunner(TestLogger logger, string assemblyName)
 {
     this.logger = logger;
     this.assemblyName = assemblyName;
     this.testConverter = new TestConverter(logger, assemblyName);
     this.loadedTestCases = new List<TestCase>();
     this.nunitFilter = TestFilter.Empty;
 }
コード例 #3
0
 // This constructor is used when the executor is called with a list of assemblies
 public AssemblyRunner(TestLogger logger, string assemblyName, TFSTestFilter tfsFilter)
     : this(logger, assemblyName)
 {
     if (tfsFilter.HasTfsFilterValue)
     {
         var filteredTestCases = tfsFilter.CheckFilter(this.LoadedTestCases);
         this.nunitFilter = MakeTestFilter(filteredTestCases);
     }
 }
コード例 #4
0
 // This constructor is called by the others and is used directly for testing
 public AssemblyRunner(TestLogger logger, string assemblyName, INUnitTestAdapter nunitTestAdapter)
 {
     this.logger = logger;
     this.assemblyName = assemblyName;
     testConverter = new TestConverter(logger, assemblyName);
     loadedTestCases = new List<TestCase>();
     nunitFilter = TestFilter.Empty;
     NUnitTestAdapter = nunitTestAdapter;
 }
コード例 #5
0
        /// <summary>
        /// The common constructor initializes NUnit services 
        /// needed to load and run tests and sets some properties.
        /// </summary>
        protected NUnitTestAdapter()
        {
            ServiceManager.Services.AddService(new DomainManager());
            ServiceManager.Services.AddService(new ProjectService());

            ServiceManager.Services.InitializeServices();
            Verbosity = 0;
            RegistryFailure = false;
            adapterVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
            try
            {
                var registry = RegistryCurrentUser.OpenRegistryCurrentUser(@"Software\nunit.org\VSAdapter");
                UseVsKeepEngineRunning = registry.Exist("UseVsKeepEngineRunning") && (registry.Read<int>("UseVsKeepEngineRunning") == 1);
                ShadowCopy = registry.Exist("ShadowCopy") && (registry.Read<int>("ShadowCopy") == 1);
                Verbosity = (registry.Exist("Verbosity")) ? registry.Read<int>("Verbosity") : 0;
            }
            catch (Exception e)
            {
                RegistryFailure = true;
                ErrorMsg = e.ToString();
            }

            TestLog = new TestLogger(Verbosity);
        }
コード例 #6
0
 // This constructor is used when the executor is called with a list of assemblies
 public AssemblyRunner(TestLogger logger, string assemblyName, ITfsTestFilter tfsFilter, INUnitTestAdapter nunitTestAdapter)
     : this(logger, assemblyName, nunitTestAdapter)
 {
     this.tfsFilter = tfsFilter;
 }
コード例 #7
0
        // The Adapter is constructed using the default constructor.
        // We don't have any info to initialize it until one of the
        // ITestDiscovery or ITestExecutor methods is called. The
        // each Discover or Execute method must call this method.
        protected virtual void Initialize(IMessageLogger messageLogger)
        {
            Verbosity = 0; // In case we throw below
            AdapterVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();

            try
            {
                var registry = RegistryCurrentUser.OpenRegistryCurrentUser(@"Software\nunit.org\VSAdapter");
                UseVsKeepEngineRunning = registry.Exist("UseVsKeepEngineRunning") && (registry.Read<int>("UseVsKeepEngineRunning") == 1);
                ShadowCopy = registry.Exist("ShadowCopy") && (registry.Read<int>("ShadowCopy") == 1);
            #if DEBUG && VERBOSE
                Verbosity = 1;
            #else
                Verbosity = (registry.Exist("Verbosity")) ? registry.Read<int>("Verbosity") : 0;
            #endif
            }
            catch (Exception e)
            {
                messageLogger.SendMessage(TestMessageLevel.Error, "Unable to access registry. Default settings will be used");
                messageLogger.SendMessage(TestMessageLevel.Error, e.ToString());
            }

            TestEngine = new TestEngine();
            TestLog = new TestLogger(messageLogger, Verbosity);
        }
コード例 #8
0
        // The Adapter is constructed using the default constructor.
        // We don't have any info to initialize it until one of the
        // ITestDiscovery or ITestExecutor methods is called. The
        // each Discover or Execute method must call this method.
        protected void Initialize(IDiscoveryContext context, IMessageLogger messageLogger)
        {
            TestEngine = new TestEngineClass();
            TestLog = new TestLogger(messageLogger, Settings.Verbosity);

            try
            {
                Settings.Load(context);
            }
            catch (Exception e)
            {
                TestLog.Error("Error initializing RunSettings. Default settings will be used");
                TestLog.Error(e.ToString());
            }
        }
コード例 #9
0
 // This constructor is used when the executor is called with a list of test cases
 public AssemblyRunner(TestLogger logger, string assemblyName, IEnumerable<TestCase> selectedTestCases, INUnitTestAdapter nunitTestAdapter)
     : this(logger, assemblyName, nunitTestAdapter)
 {
     nunitFilter = MakeTestFilter(selectedTestCases);
 }
コード例 #10
0
 // This constructor is used when the executor is called with a list of assemblies
 public AssemblyRunner(TestLogger logger, string assemblyName, ITfsTestFilter tfsFilter, INUnitTestAdapter nunitTestAdapter)
     : this(logger, assemblyName, nunitTestAdapter)
 {
     this.tfsFilter = tfsFilter;
 }
コード例 #11
0
 public TestConverter(TestLogger logger, string sourceAssembly)
 {
     this.logger = logger;
     this.sourceAssembly = sourceAssembly;
     this.vsTestCaseMap = new Dictionary<string, TestCase>();
 }
コード例 #12
0
 public AdapterSettings(TestLogger logger)
 {
     _logger = logger;
 }
コード例 #13
0
 // This constructor is used when the executor is called with a list of test cases
 public AssemblyRunner(TestLogger logger, string assemblyName, IEnumerable<TestCase> selectedTestCases)
     : this(logger, assemblyName)
 {
     this.nunitFilter = MakeTestFilter(selectedTestCases);
 }
コード例 #14
0
 // This constructor is used when the executor is called with a list of assemblies
 public AssemblyRunner(TestLogger logger, string assemblyName, ITfsTestFilter tfsFilter)
     : this(logger, assemblyName)
 {
     this.tfsFilter = tfsFilter;
 }
コード例 #15
0
 // This constructor is used when the executor is called with a list of assemblies
 public AssemblyRunner(TestLogger logger, string assemblyName, ITfsTestFilter tfsFilter)
     : this(logger, assemblyName)
 {
     this.tfsFilter = tfsFilter;
 }
コード例 #16
0
 // This constructor is used when the executor is called with a list of test cases
 public AssemblyRunner(TestLogger logger, string assemblyName, IEnumerable <TestCase> selectedTestCases)
     : this(logger, assemblyName)
 {
     nunitFilter = MakeTestFilter(selectedTestCases);
 }
コード例 #17
0
 // This constructor is used when the executor is called with a list of assemblies
 public AssemblyRunner(TestLogger logger, string assemblyName, ITfsTestFilter tfsFilter, INUnitTestAdapter nunitTestAdapter, bool collectSourceInformation)
     : this(logger, assemblyName, nunitTestAdapter, collectSourceInformation)
 {
     this.tfsFilter = tfsFilter;
 }
コード例 #18
0
 // This constructor is used when the executor is called with a list of test cases
 public AssemblyRunner(TestLogger logger, string assemblyName, IEnumerable <TestCase> selectedTestCases, INUnitTestAdapter nunitTestAdapter, bool collectSourceInformation)
     : this(logger, assemblyName, nunitTestAdapter, collectSourceInformation)
 {
     nunitFilter = MakeTestFilter(selectedTestCases);
 }