コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the SilverlightTestService class.
 /// </summary>
 /// <param name="settings">Unit test settings to read the service path
 /// and other information from.</param>
 public SilverlightTestService(UnitTestSettings settings)
     : this()
 {
     if (ServiceType == ServiceType.WebService)
     {
         SetServicePath(settings);
     }
 }
コード例 #2
0
        private UnitTestSettings ConfigureSettings()
        {
#if July2009 || October2009 || November2009
            var settings = UnitTestSystem.CreateDefaultSettings();
#else
            var settings = new UnitTestSettings();
            settings.TestHarness = new UnitTestHarness();

            DebugOutputProvider item = new DebugOutputProvider();
            item.ShowAllFailures = true;
            settings.LogProviders.Add(item);
            try
            {
                VisualStudioLogProvider visualStudioLogProvider = new VisualStudioLogProvider();
                settings.LogProviders.Add(visualStudioLogProvider);
            }
            catch
            {
            }

            // Don't enable a U.I. when not specifying the U.I. Mode.
            if (!_clientTestRunConfiguration.ShowTestingBrowserHost)
            {
                var statLightTestPage = new StatLightTestPage();
                settings.TestHarness.TestPage = statLightTestPage;

                settings.TestPanelType = typeof(StatLightTestPage);
            }

            settings.StartRunImmediately     = true;
            settings.ShowTagExpressionEditor = false;
            settings.TestService             = null;
#endif
            // Below is the custom stuff...
            settings.TagExpression = _clientTestRunConfiguration.TagFilter;
            settings.LogProviders.Add(new ServerHandlingLogProvider());
            foreach (var assembly in _loadedXapData.TestAssemblies)
            {
                settings.TestAssemblies.Add(assembly);
            }
            settings.TestHarness.TestHarnessCompleted += CurrentHarness_TestHarnessCompleted;
            return(settings);
        }
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the App class.
 /// </summary>
 public App()
 {
     Startup += delegate
     {
         UnitTestSettings settings = UnitTestSystem.CreateDefaultSettings();
         settings.SampleTags = new System.Collections.Generic.List <string>
         {
             "All",
             "WrapPanelTest",
             "WrapPanelTest-DP",
             "WrapPanelTest+DockPanelTest",
             "(WrapPanelTest+DockPanelTest)-DP",
             "WrapPanelTest*DP",
             "!DP",
         };
         RootVisual = UnitTestSystem.CreateTestPage(settings);
     };
     InitializeComponent();
 }
コード例 #4
0
        /// <summary>
        /// Run the unit tests.
        /// </summary>
        private void RunTests()
        {
            // Update the history
            string tag = txtTag.Text;

            TagHistory.Remove(tag);
            TagHistory.Insert(0, tag);
            while (TagHistory.Count > 5)
            {
                TagHistory.RemoveAt(5);
            }
            IsolatedStorageSettings.SiteSettings[TagHistoryKey] = TagHistory;

            // Launch Ignite with the test tag
            UnitTestSettings settings = UnitTestSystem.CreateDefaultSettings();

            settings.TagExpression = tag;
            Root.Children.Clear();
            Root.Children.Add(UnitTestSystem.CreateTestPage(settings));
        }
コード例 #5
0
ファイル: MainPage.xaml.cs プロジェクト: zhuxuland/c-sharp
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            const bool runUnitTests = true;

            if (runUnitTests)
            {
                UnitTestSettings settings = UnitTestSystem.CreateDefaultSettings();
#if AUTOUNITTEST
                settings.StartRunImmediately               = true;
                settings.ShowTagExpressionEditor           = false;
                settings.TestHarness.TestHarnessCompleted += TestRunCompletedCallback;
#endif


                Content = UnitTestSystem.CreateTestPage(settings);
            }

            // Sample code to localize the ApplicationBar
            //BuildLocalizedApplicationBar();
        }
コード例 #6
0
ファイル: Testing.cs プロジェクト: ynkbt/moon
        public static UIElement CreateTestPage(Application app)
        {
            settings = new UnitTestSettings();

            app.UnhandledException += Application_UnhandledException;

            moonlog = new MoonLogProvider();
            harness = new Microsoft.Silverlight.Testing.UnitTesting.Harness.UnitTestHarness();
            settings.TestHarness = harness;
            settings.TestAssemblies.Add(app.GetType().Assembly);
            UnitTestSystem.PrepareCustomLogProviders(settings);
            settings.LogProviders.Add(moonlog);
            settings.RuntimeVersion = Int32.Parse(Deployment.Current.RuntimeVersion.Split('.')[0]);
            // Silverlight thinks HtmlPage.Document.DocumentUri.Query is empty
            // so lets just manually parse instead. This allows tagging to work on SL.
            if (HtmlPage.Document.DocumentUri.OriginalString.IndexOf('?') > 0)
            {
                settings.TagExpression = HtmlPage.Document.DocumentUri.OriginalString.Substring(HtmlPage.Document.DocumentUri.OriginalString.IndexOf('?') + 1);
                if (settings.TagExpression.IndexOf('#') > 0)
                {
                    settings.TagExpression = settings.TagExpression.Remove(settings.TagExpression.IndexOf('#'));
                }

                List <string> exps = new List <string> (settings.TagExpression.Split('&'));
                for (int i = exps.Count - 1; i >= 0; i--)
                {
                    if (exps [i].StartsWith("version=") || exps [i].StartsWith("bot_mode="))
                    {
                        exps.RemoveAt(i);
                    }
                }
                settings.TagExpression = string.Join("&", exps.ToArray());
            }
            test_page = UnitTestSystem.CreateTestPage(settings);

            settings.TestHarness.TestHarnessCompleted += new EventHandler <TestHarnessCompletedEventArgs> (Harness_Completed);

            return(test_page);
        }
コード例 #7
0
        /// <summary>
        /// Determine what test assemblies need to be executed.  Enqueue tasks
        /// for the unit test assembly providers to run the tests.
        /// </summary>
        private void PrepareTestAssemblyTasks()
        {
            // Regular unit test run
            UnitTestSettings settings = Settings as UnitTestSettings;
            TestRunFilter    filter   = CreateTestRunFilter(settings);

            // Log the filter information
            LogWriter.TestRunFilterSelected(filter);

            // Add the test assemblies
            foreach (Assembly assembly in Settings.TestAssemblies)
            {
                EnqueueTestAssembly(assembly, filter);
            }
            if (_validTestAssemblies > 0)
            {
                LogWriter.UnitTestHarnessStage(this, HarnessName, TestStage.Starting);
            }
            else
            {
                LogWriter.Warning(Properties.UnitTestMessage.UnitTestHarness_TestAssembliesNotActionable);
            }
        }
コード例 #8
0
        private string GetBaseTestModule(UnitTestSettings settings = null)
        {
            if (settings is null)
            {
                settings = _settings.Create();
            }

            string declaration;
            string initialization;
            var    asserts = settings.AssertMode == AssertMode.PermissiveAssert ? PermissiveAssertClassName : AssertClassName;

            switch (settings.BindingMode)
            {
            case BindingMode.EarlyBinding:
                declaration    = string.Format(EarlyBindingDeclarations, asserts);
                initialization = string.Format(EarlyBindingInitialization, asserts);
                break;

            case BindingMode.LateBinding:
                declaration    = LateBindingDeclarations;
                initialization = string.Format(LateBindingInitialization, asserts);
                break;

            case BindingMode.DualBinding:
                declaration    = string.Format(DualBindingDeclarations, asserts);
                initialization = string.Format(DualBindingInitialization, asserts);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            return(string.Format(TestModuleTemplate,
                                 _isAccess ? AccessCompareOption : string.Empty,
                                 declaration,
                                 initialization));
        }
コード例 #9
0
        private string GetTestModule(UnitTestSettings settings)
        {
            var assertClass   = settings.AssertMode == AssertMode.StrictAssert ? string.Empty : "Permissive";
            var moduleBinding = settings.BindingMode == BindingMode.EarlyBinding
                ? string.Format(ModuleEarlyBinding, assertClass)
                : ModuleLateBinding;

            var formattedModuleTemplate = string.Format(TestModuleEmptyTemplate, moduleBinding);

            if (settings.ModuleInit)
            {
                var lateBindingString = string.Format(ModuleInitLateBinding,
                                                      settings.AssertMode == AssertMode.StrictAssert ? string.Empty : "Permissive");

                formattedModuleTemplate += string.Format(_moduleInit, settings.BindingMode == BindingMode.EarlyBinding ? string.Empty : lateBindingString);
            }

            if (settings.MethodInit)
            {
                formattedModuleTemplate += _methodInit;
            }

            return(formattedModuleTemplate);
        }
コード例 #10
0
 /// <summary>
 /// Creates the test run filter for the initial run.
 /// </summary>
 /// <param name="settings">The unit test settings.</param>
 /// <returns>Returns a new TestRunFilter instance.</returns>
 protected virtual TestRunFilter CreateTestRunFilter(UnitTestSettings settings)
 {
     return String.IsNullOrEmpty(settings.TagExpression) ? new TestRunFilter(settings, this) : new TagTestRunFilter(settings, this, settings.TagExpression);
 }
コード例 #11
0
 /// <summary>
 /// Initializes a new instance of the TestRunStartingEventArgs
 /// type.
 /// </summary>
 /// <param name="settings">The test run filter.</param>
 /// <param name="filter">The test run settings object.</param>
 public TestRunStartingEventArgs(UnitTestSettings settings, TestRunFilter filter)
     : base()
 {
     Settings      = settings;
     TestRunFilter = filter;
 }
コード例 #12
0
        /// <summary>
        /// Initializes the test harness.
        /// </summary>
        /// <param name="settings">The test harness settings.</param>
        public void Initialize(UnitTestSettings settings)
        {
            UnitTestHarness uth = settings.TestHarness as UnitTestHarness;

            if (uth != null)
            {
                // Attach to store the log file
                uth.Publishing += (o, e) => WriteLogFile(uth);

                // Look for a unique test run ID
                if (uth.TestService != null)
                {
                    string runId = uth.TestService.UniqueTestRunIdentifier;
                    if (!string.IsNullOrEmpty(runId))
                    {
                        TestRunId = runId;
                    }
                }
            }

            string filename;

            if (settings.Parameters.TryGetValue("log", out filename))
            {
                TestResultsFileName = filename;
            }

            // Read pre-defined optional settings and environment variables
            List <string> prefix = new List <string>();
            string        initialPrefix;

            if (settings.Parameters.TryGetValue("testRunNamePrefix", out initialPrefix))
            {
                prefix.Add(initialPrefix);
            }

            string userName;

            if (settings.Parameters.TryGetValue("userName", out userName))
            {
                prefix.Add(userName);
                UserName = userName;
            }

            string computerName;

            if (settings.Parameters.TryGetValue("computerName", out computerName))
            {
                prefix.Add(computerName);
                ComputerName = computerName;
            }

            for (int i = 0; i < prefix.Count; ++i)
            {
                if (TestRunNamePrefix.Length > 0)
                {
                    TestRunNamePrefix += "_";
                }
                TestRunNamePrefix += prefix[i];
            }
        }
コード例 #13
0
 /// <summary>
 /// Initializes a new test run filter using an existing settings file.
 /// </summary>
 /// <param name="settings">A unit test settings instance.</param>
 /// <param name="harness">The unit test harness.</param>
 public TestRunFilter(UnitTestSettings settings, UnitTestHarness harness)
 {
     TestRunName     = DefaultTestRunName;
     _settings       = settings;
     UnitTestHarness = harness;
 }
コード例 #14
0
 /// <summary>
 /// Initializes a new test run filter with the tag expression.
 /// </summary>
 /// <param name="settings">Unit test settings.</param>
 /// <param name="harness">Unit test harness.</param>
 /// <param name="tagExpression">The tag expression to use.</param>
 public TagTestRunFilter(UnitTestSettings settings, UnitTestHarness harness, string tagExpression)
     : base(settings, harness)
 {
     SetTagExpression(tagExpression);
 }
コード例 #15
0
    /// <summary>
    /// Initializes the test harness.
    /// </summary>
    /// <param name="settings">The test harness settings.</param>
    public void Initialize(UnitTestSettings settings)
    {
      UnitTestHarness uth = settings.TestHarness as UnitTestHarness;
      if (uth != null)
      {
        // Attach to store the log file
        uth.Publishing += (o, e) => WriteLogFile(uth);

        // Look for a unique test run ID
        if (uth.TestService != null)
        {
          string runId = uth.TestService.UniqueTestRunIdentifier;
          if (!string.IsNullOrEmpty(runId))
          {
            TestRunId = runId;
          }
        }
      }

      string filename;
      if (settings.Parameters.TryGetValue("log", out filename))
      {
        TestResultsFileName = filename;
      }

      // Read pre-defined optional settings and environment variables
      List<string> prefix = new List<string>();
      string initialPrefix;
      if (settings.Parameters.TryGetValue("testRunNamePrefix", out initialPrefix))
      {
        prefix.Add(initialPrefix);
      }

      string userName;
      if (settings.Parameters.TryGetValue("userName", out userName))
      {
        prefix.Add(userName);
        UserName = userName;
      }

      string computerName;
      if (settings.Parameters.TryGetValue("computerName", out computerName))
      {
        prefix.Add(computerName);
        ComputerName = computerName;
      }

      for (int i = 0; i < prefix.Count; ++i)
      {
        if (TestRunNamePrefix.Length > 0)
        {
          TestRunNamePrefix += "_";
        }
        TestRunNamePrefix += prefix[i];
      }
    }
コード例 #16
0
 /// <summary>
 /// Initializes a new instance of the SilverlightTestService class.
 /// </summary>
 /// <param name="settings">Unit test settings to read the service path
 /// and other information from.</param>
 public WindowsPhoneTestService(UnitTestSettings settings)
     : this()
 {
     SetServicePath(settings);
 }
コード例 #17
0
        /// <summary>
        /// Creates the test run filter for the initial run.
        /// </summary>
        /// <param name="settings">The unit test settings.</param>
        /// <returns>Returns a new TestRunFilter instance.</returns>
        protected virtual TestRunFilter CreateTestRunFilter(UnitTestSettings settings)
        {
            TestRunFilter subfilter = String.IsNullOrEmpty(settings.TagExpression) ? new TestRunFilter(settings, this) : new TagTestRunFilter(settings, this, settings.TagExpression);

            return(new RuntimeVersionTestRunFilter(settings, this, subfilter));
        }
コード例 #18
0
 public RuntimeVersionTestRunFilter(UnitTestSettings settings, UnitTestHarness harness, TestRunFilter subfilter) : base(settings, harness)
 {
     this.subfilter       = subfilter;
     this.runtime_version = settings.RuntimeVersion;
 }
コード例 #19
0
 /// <summary>
 /// Initializes a new instance of the TestRunStartingEventArgs
 /// type.
 /// </summary>
 /// <param name="settings">The test run filter.</param>
 /// <param name="filter">The test run settings object.</param>
 public TestRunStartingEventArgs(UnitTestSettings settings, TestRunFilter filter)
   : base()
 {
   Settings = settings;
   TestRunFilter = filter;
 }
コード例 #20
0
 /// <summary>
 /// Creates the test run filter for the initial run.
 /// </summary>
 /// <param name="settings">The unit test settings.</param>
 /// <returns>Returns a new TestRunFilter instance.</returns>
 protected virtual TestRunFilter CreateTestRunFilter(UnitTestSettings settings)
 {
     return(String.IsNullOrEmpty(settings.TagExpression) ? new TestRunFilter(settings, this) : new TagTestRunFilter(settings, this, settings.TagExpression));
 }
コード例 #21
0
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            UnitTestSettings s = UnitTestSystem.CreateDefaultSettings();

            this.RootVisual = UnitTestSystem.CreateTestPage(s);
        }
コード例 #22
0
 public RiaTestRunFilter(UnitTestSettings settings, UnitTestHarness harness, Func <ITestMethod, bool> includeTest)
     : base(settings, harness)
 {
     _includeTest = includeTest;
 }
コード例 #23
0
ファイル: UnitTestHarness.cs プロジェクト: dfr0/moon
        /// <summary>
        /// Creates the test run filter for the initial run.
        /// </summary>
        /// <param name="settings">The unit test settings.</param>
        /// <returns>Returns a new TestRunFilter instance.</returns>
        protected virtual TestRunFilter CreateTestRunFilter(UnitTestSettings settings)
        {
		TestRunFilter subfilter = String.IsNullOrEmpty(settings.TagExpression) ? new TestRunFilter(settings, this) : new TagTestRunFilter(settings, this, settings.TagExpression);
		return new RuntimeVersionTestRunFilter (settings, this, subfilter);
        }
コード例 #24
0
 /// <summary>
 /// Initializes a new test run filter with the tag expression.
 /// </summary>
 /// <param name="settings">Unit test settings.</param>
 /// <param name="harness">Unit test harness.</param>
 /// <param name="tagExpression">The tag expression to use.</param>
 public TagTestRunFilter(UnitTestSettings settings, UnitTestHarness harness, string tagExpression)
     : base(settings, harness)
 {
     SetTagExpression(tagExpression);
 }
コード例 #25
0
 /// <summary>
 /// Initializes a new test run filter using an existing settings file.
 /// </summary>
 /// <param name="settings">A unit test settings instance.</param>
 /// <param name="harness">The unit test harness.</param>
 public TestRunFilter(UnitTestSettings settings, UnitTestHarness harness)
 {
     TestRunName = DefaultTestRunName;
     _settings = settings;
     UnitTestHarness = harness;
 }
コード例 #26
0
	public RuntimeVersionTestRunFilter(UnitTestSettings settings, UnitTestHarness harness, TestRunFilter subfilter) : base(settings, harness)
        {
		this.subfilter = subfilter;
		this.runtime_version = settings.RuntimeVersion;
        }
コード例 #27
0
 /// <summary>
 /// Determine the service path to attempt to use, and prepares the 
 /// verification object using those parameters.
 /// </summary>
 /// <param name="settings">Unit test settings object to try and read
 /// settings from.</param>
 private void SetServicePath(UnitTestSettings settings)
 {
     bool useOverrides = (settings != null && !string.IsNullOrEmpty(settings.TestServiceHostname) && !string.IsNullOrEmpty(settings.TestServicePath));
     _webService = new ServiceVerifier
     {
        Hostname = useOverrides ? settings.TestServiceHostname : "localhost",
        Port = useOverrides ? settings.TestServicePort : 8000,
        ServicePath = useOverrides ? settings.TestServicePath : "/externalInterface/",
     };
 }
コード例 #28
0
 /// <summary>
 /// Initializes a new instance of the SilverlightTestService class.
 /// </summary>
 /// <param name="settings">Unit test settings to read the service path
 /// and other information from.</param>
 public WindowsPhoneTestService(UnitTestSettings settings)
     : this()
 {
     SetServicePath(settings);
 }
コード例 #29
0
 /// <summary>
 /// Fill member variables with any non-null settings of the same type.
 /// </summary>
 /// <param name="settings">Settings container class.</param>
 private void InitializeSettings(UnitTestSettings settings)
 {
     if (settings != null)
     {
         if (settings.LogProviders != null)
         {
             LogProviders = settings.LogProviders;
         }
         if (settings.Parameters != null)
         {
             Parameters = settings.Parameters;
         }
         Settings = settings;
     }
 }
コード例 #30
0
 public AgTestRunFilter(UnitTestSettings settings, UnitTestHarness harness) : base(settings, harness)
 {
 }