Esempio n. 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
      // Initialise data table to hold test results
      _results.Columns.Add("test");
      _results.Columns.Add("result");
      _results.Columns.Add("time");
      _results.Columns.Add("message");
      _results.Columns.Add("class");

      // Initialise controls
      lblResult.Text = "";
      ltlStats.Text = "";

      // Initialise NUnit
      CoreExtensions.Host.InitializeService();

      // Find tests in current assembly
      _testPackage = new TestPackage(Assembly.GetExecutingAssembly().Location);

      if (!IsPostBack)
      {
        var testSuite = new TestSuiteBuilder().Build(_testPackage);
        var categoryManager = new CategoryManager();
        categoryManager.AddAllCategories(testSuite);

        cblCategories.DataSource = (from string cat in categoryManager.Categories select cat).OrderBy(x => x);
        cblCategories.DataBind();
      }
    }
		public NunitTestInfo GetTestInfo (string path, List<string> supportAssemblies)
		{
			InitSupportAssemblies (supportAssemblies);
			
			TestSuite rootTS = new TestSuiteBuilder ().Build (new TestPackage (path));
			return BuildTestInfo (rootTS);
		}
		public void SetUp() 
		{
			TestSuiteBuilder builder = new TestSuiteBuilder();
			suite = builder.Build( new TestPackage( testsDll ) );

			treeView = new TestSuiteTreeView();
		}
Esempio n. 4
0
        /// <summary>
        /// Load a TestPackage
        /// </summary>
        /// <param name="package">The package to be loaded</param>
        /// <returns>True on success, false on failure</returns>
        public bool Load(TestPackage package)
        {
            log.Debug("Loading package " + package.Name);

            this.builder = new TestSuiteBuilder();

            _compatibility = package.GetSetting("NUnit3Compatibility", false);
            _workDirectory = package.GetSetting("WorkDirectory", Environment.CurrentDirectory);

            if (_compatibility)
            {
                Compatibility.BeginCollection(_workDirectory);
            }

            try
            {
                this.test = builder.Build(package);
            }
            finally
            {
                if (_compatibility)
                {
                    Compatibility.EndCollection();
                }
            }

            if (test == null)
            {
                return(false);
            }

            test.SetRunnerID(this.runnerID, true);
            TestExecutionContext.CurrentContext.TestPackage = package;
            return(true);
        }
Esempio n. 5
0
        private TestSuite Build(string assemblyName, int assemblyKey)
        {
            TestSuiteBuilder builder = new TestSuiteBuilder();

            Assembly assembly = Load(assemblyName);

            builder.rootSuite = new AssemblyTestSuite(assemblyName, assemblyKey);
            int testFixtureCount = 0;

            Type[] testTypes = assembly.GetExportedTypes();
            foreach (Type testType in testTypes)
            {
                if (CanMakeSuite(testType))
                {
                    testFixtureCount++;
                    string    namespaces = testType.Namespace;
                    TestSuite suite      = builder.BuildFromNameSpace(namespaces, assemblyKey);

                    //suite.Add( new TestFixture( testType ) );
                    suite.Add(MakeSuite(testType));
                }
            }

            if (testFixtureCount == 0)
            {
                builder.rootSuite.ShouldRun    = false;
                builder.rootSuite.IgnoreReason = "Has no TestFixtures";
            }

            return(builder.rootSuite);
        }
Esempio n. 6
0
        public void Hierarchy()
        {
            TestSuiteBuilder builder = new TestSuiteBuilder();
            Test suite = builder.Build( new TestPackage( testsDll ) );

            suite = (Test)suite.Tests[0];
            Assert.AreEqual("NUnit", suite.TestName.Name);

            suite = (Test)suite.Tests[0];
            Assert.AreEqual("Tests", suite.TestName.Name);
            Assert.AreEqual(MockAssembly.Fixtures, suite.Tests.Count);

            Test singletonSuite = TestFinder.Find("Singletons", suite, false);
            Assert.AreEqual(1, singletonSuite.Tests.Count);

            Test mockSuite = TestFinder.Find("Assemblies", suite, false);
            Assert.AreEqual(1, mockSuite.Tests.Count);

            Test mockFixtureSuite = TestFinder.Find("MockTestFixture", mockSuite, false);
            Assert.AreEqual(MockTestFixture.Tests, mockFixtureSuite.Tests.Count);

            foreach(Test t in mockFixtureSuite.Tests)
            {
                Assert.IsFalse(t.IsSuite, "Should not be a suite");
            }
        }
Esempio n. 7
0
 public void LoadTestFixtureFromAssembly()
 {
     TestSuiteBuilder builder = new TestSuiteBuilder();
     TestPackage package = new TestPackage( testsDll );
     package.TestName = "NUnit.Tests.Assemblies.MockTestFixture";
     Test suite= builder.Build( package );
     Assert.IsNotNull(suite);
 }
        public void CanAddAllAvailableCategoriesInTestTree()
        {
            TestSuiteBuilder builder = new TestSuiteBuilder();
            Test suite = builder.Build( new TestPackage( "mock-assembly.dll" ) );

            categoryManager.AddAllCategories( suite );
            //Assert.AreEqual( MockAssembly.Categories, categoryManager.Categories.Count );
        }
Esempio n. 9
0
        public Test Load(string projectName, string[] assemblies, string testName)
        {
            this.assemblies = (string[])assemblies.Clone();
            TestSuiteBuilder builder = new TestSuiteBuilder();

            suite            = builder.Build(assemblies, testName);
            frameworkVersion = builder.FrameworkVersion;
            return(suite);
        }
Esempio n. 10
0
        public void CanAddTestCategories()
        {
            TestSuiteBuilder builder = new TestSuiteBuilder();
            Test suite = builder.Build( new TestPackage( "mock-assembly.dll" ) );

            Test test = TestFinder.Find( "MockTest3", suite );
            categoryManager.AddCategories( test );
            Assert.AreEqual( 2, categoryManager.Categories.Count );
        }
Esempio n. 11
0
        public void Setup()
        {
            progressBar = new TestProgressBar();

            TestSuiteBuilder builder = new TestSuiteBuilder();
            suite = new TestNode( builder.Build( new TestPackage( testsDll ) ) );

            mockEvents = new MockTestEventSource( suite );
        }
Esempio n. 12
0
        /// <summary>
        /// Load a particular test in an assembly
        /// </summary>
        public Test Load(string assemblyName, string testName)
        {
            this.assemblies = new string[] { assemblyName };
            TestSuiteBuilder builder = new TestSuiteBuilder();

            suite            = builder.Build(assemblyName, testName);
            frameworkVersion = builder.FrameworkVersion;
            return(suite);
        }
Esempio n. 13
0
		public void Setup()
		{
			statusBar = new StatusBar();

			TestSuiteBuilder builder = new TestSuiteBuilder();
			suite = builder.Build( new TestPackage( testsDll ) );

			mockEvents = new MockTestEventSource( suite );
		}
Esempio n. 14
0
		private TestSuite PrepareTestSuite(List<String> assemblyList)
		{
			CoreExtensions.Host.InitializeService();
			var testPackage = new TestPackage("Unity",
												assemblyList);
			var builder = new TestSuiteBuilder();
			TestExecutionContext.CurrentContext.TestPackage = testPackage;
			TestSuite suite = builder.Build(testPackage);

			return suite;
		}
Esempio n. 15
0
        public void NoNamespaceInAssembly()
        {
            TestSuiteBuilder builder = new TestSuiteBuilder();
            Test suite = builder.Build( new TestPackage( nonamespaceDLL ) );
            Assert.IsNotNull(suite);
            Assert.AreEqual( NoNamespaceTestFixture.Tests, suite.TestCount );

            suite = (TestSuite)suite.Tests[0];
            Assert.IsNotNull(suite);
            Assert.AreEqual( "NoNamespaceTestFixture", suite.TestName.Name );
            Assert.AreEqual( "NoNamespaceTestFixture", suite.TestName.FullName );
        }
Esempio n. 16
0
        /// <summary>
        ///     Runs NUnit-compatible unit tests in an assembly in a debugger-friendly way.</summary>
        /// <param name="assembly">
        ///     The assembly containing the unit tests to run.</param>
        /// <param name="suppressTimesInLog">
        ///     Indicates whether to suppress the timing information in the log output produced. Defaults to <c>false</c>.</param>
        /// <param name="filter">
        ///     If not <c>null</c> (the default), only tests that match this regular expression are run.</param>
        public static void RunTestsOnAssembly(Assembly assembly, bool suppressTimesInLog = false, string filter = null)
        {
            var package = new TestPackage(assembly.Location);
            if (!CoreExtensions.Host.Initialized)
                CoreExtensions.Host.InitializeService();

            var testsIndirect = new TestSuiteBuilder().Build(package);
            var tests = directize(testsIndirect, filter);

            var results = new TestResult(tests);
            tests.Run(results, new DirectListener(suppressTimesInLog), TestFilter.Empty);
        }
        /// <summary>
        /// Load a TestPackage
        /// </summary>
        /// <param name="package">The package to be loaded</param>
        /// <returns>True on success, false on failure</returns>
        public bool Load(TestPackage package)
        {
            this.builder = new TestSuiteBuilder();

            this.test = builder.Build(package);
            if (test == null)
            {
                return(false);
            }

            test.SetRunnerID(this.runnerID, true);
            return(true);
        }
		public void RunMockTests()
		{
			string testsDll = NUnit.Tests.Assemblies.MockAssembly.AssemblyPath;
			TestSuiteBuilder suiteBuilder = new TestSuiteBuilder();
			Test suite = suiteBuilder.Build( new TestPackage( testsDll ) );

            TestResult result = suite.Run(NullListener.NULL, TestFilter.Empty);
			StringBuilder builder = new StringBuilder();
			new XmlResultWriter(new StringWriter(builder)).SaveTestResult(result);

			string resultXml = builder.ToString();

			resultDoc = new XmlDocument();
			resultDoc.LoadXml(resultXml);
		}
Esempio n. 19
0
        public RunnerHandler(string prefix, List<string> assemblies, string testResult)
        {
            this.prefix = prefix;

            var codeBase = Assembly.GetExecutingAssembly().CodeBase;
            var directoryName = Path.GetDirectoryName(codeBase);
            if (directoryName == null) throw new DirectoryNotFoundException("Unable to determine running location for test runner");

            // Ensure the assembly path exists
            var currentDirectory = new Uri(directoryName).LocalPath;

            assemblyList = new List<string>();
            foreach (var assemblyName in assemblies)
            {
                var assemblypath = Path.GetFullPath(Path.Combine(currentDirectory, assemblyName + ".dll"));
                if (!File.Exists(assemblypath)) throw new FileNotFoundException("Cannot find test assembly at " + assemblypath);
                assemblyList.Add(assemblypath);
            }

            // Get the test result path
            if (!string.IsNullOrEmpty(testResult))
            {
                testResult = testResult.Replace("$(dataFolder)", Settings.DataFolder);
                testresultpath = Path.GetFullPath(Path.Combine(currentDirectory, testResult));
            }

            // Initialize NUnit
            if (!CoreExtensions.Host.Initialized) CoreExtensions.Host.InitializeService();
            package = new TestPackage(prefix, assemblyList);
            var testSuite = new TestSuiteBuilder().Build(package);

            // Recursively load all tests
            Action<ITest> getTests = null;
            getTests = x =>
                x.Tests.Cast<ITest>().ToList().ForEach(t =>
                {
                    t.Categories.Cast<string>().ToList().ForEach(c =>
                    {
                        if (!categories.Contains(c)) categories.Add(c);
                    });

                    var item = t as NUnitTestMethod;
                    if (item != null) tests.Add(item);
                    if (t.IsSuite) getTests(t);
                });

            getTests(testSuite);
        }
Esempio n. 20
0
        /// <summary>
        /// Load a TestPackage
        /// </summary>
        /// <param name="package">The package to be loaded</param>
        /// <returns>True on success, false on failure</returns>
        public bool Load(TestPackage package)
        {
            log.Debug("Loading package " + package.Name);

            this.builder = new TestSuiteBuilder();

            this.test = builder.Build(package);
            if (test == null)
            {
                return(false);
            }

            test.SetRunnerID(this.runnerID, true);
            TestExecutionContext.CurrentContext.TestPackage = package;
            return(true);
        }
Esempio n. 21
0
        public void RunMockTests()
        {
            string testsDll = "mock-assembly.dll";
            TestSuiteBuilder suiteBuilder = new TestSuiteBuilder();
            Test suite = suiteBuilder.Build( new TestPackage( testsDll ) );

            TestResult result = suite.Run(NullListener.NULL);
            StringBuilder builder = new StringBuilder();
            StringWriter writer = new StringWriter(builder);
            XmlResultVisitor visitor = new XmlResultVisitor(writer, result);
            result.Accept(visitor);
            visitor.Write();

            string resultXml = builder.ToString();
            Console.WriteLine(resultXml);

            resultDoc = new XmlDocument();
            resultDoc.LoadXml(resultXml);
        }
Esempio n. 22
0
        public void Hierarchy()
        {
            TestSuiteBuilder builder = new TestSuiteBuilder();
            Test suite = builder.Build( new TestPackage( testsDll ) );
            IList tests = suite.Tests;
            Assert.AreEqual(1, tests.Count);

            Assert.IsTrue(tests[0] is TestSuite, "TestSuite:NUnit - is not correct");
            TestSuite testSuite = (TestSuite)tests[0];
            Assert.AreEqual("NUnit", testSuite.TestName.Name);

            tests = testSuite.Tests;
            Assert.IsTrue(tests[0] is TestSuite, "TestSuite:Tests - is invalid");
            testSuite = (TestSuite)tests[0];
            Assert.AreEqual(1, tests.Count);
            Assert.AreEqual("Tests", testSuite.TestName.Name);

            tests = testSuite.Tests;
            // TODO: Get rid of constants in this test
            Assert.AreEqual(MockAssembly.Fixtures, tests.Count);

            Assert.IsTrue(tests[3] is TestSuite, "TestSuite:singletons - is invalid");
            TestSuite singletonSuite = (TestSuite)tests[3];
            Assert.AreEqual("Singletons", singletonSuite.TestName.Name);
            Assert.AreEqual(1, singletonSuite.Tests.Count);

            Assert.IsTrue(tests[0] is TestSuite, "TestSuite:assemblies - is invalid");
            TestSuite mockSuite = (TestSuite)tests[0];
            Assert.AreEqual("Assemblies", mockSuite.TestName.Name);

            TestSuite mockFixtureSuite = (TestSuite)mockSuite.Tests[0];
            Assert.AreEqual(MockTestFixture.Tests, mockFixtureSuite.Tests.Count);

            IList mockTests = mockFixtureSuite.Tests;
            foreach(Test t in mockTests)
            {
                Assert.IsTrue(t is NUnit.Core.TestCase, "should be a TestCase");
            }
        }
Esempio n. 23
0
 public void TestRoot()
 {
     TestSuiteBuilder builder = new TestSuiteBuilder();
     Test suite = builder.Build( new TestPackage( testsDll ) );
     Assert.AreEqual(testsDll, suite.TestName.Name);
 }
Esempio n. 24
0
        /// <summary>
        /// Overridden function that gets called when the plugin is loaded. Registers all creator plugins
        /// </summary>
        /// <returns></returns>
        public override bool InitPluginModule()
        {
            EDITOR_PLUGIN_INFO.NativePluginNames = new string[] { "Havok Ai" };
              HavokAiManaged.ManagedModule.InitManagedModule();

              // register shape class
              creators = new IShapeCreatorPlugin[]
              {
              new HavokNavMeshShapeCreator(),
              new HavokNavMeshCarverShapeCreator(),
              new HavokNavMeshSeedPointShapeCreator(),
              new HavokNavMeshLocalSettingsShapeCreator(),
              new HavokNavMeshTestPathShapeCreator()
              };
              foreach (IShapeCreatorPlugin plugin in creators)
              {
            EditorManager.ShapeCreatorPlugins.Add(plugin);
              }

              // create and activate panel
              _panel = new HavokAiPanel(EditorManager.ApplicationLayout.DockingArea);
              _panel.ShowDockable();
              _panel.Enabled = false;

              // register callbacks
              IScene.ShapeChanged += new ShapeChangedEventHandler(IScene_ShapeChanged);
              IScene.PropertyChanged += new PropertyChangedEventHandler(IScene_PropertyChanged);
              IScene.EngineInstancesChanged += new EngineInstancesChangedEventHandler(IScene_EngineInstancesChanged);
              EditorManager.SceneChanged += new SceneChangedEventHandler(EditorManager_SceneChanged);
              EditorManager.ShapeSelectionChanged += new ShapeSelectionChangedEventHandler(EditorManager_ShapeSelectionChanged);
              EditorManager.EditorModeChanged += new EditorModeChangedEventHandler(EditorManager_EditorModeChanged);

              // Register automated tests
              TestSuiteBuilder testBuilder = new TestSuiteBuilder();
              TestSuite testSuite = testBuilder.Build(typeof(EditorPlugin).Assembly.FullName);
              TestManager.AddTestSuite(testSuite);

              return true;
        }
Esempio n. 25
0
        /// <summary>
        /// Overridden function that gets called when the plugin is loaded. Registers all creator plugins
        /// </summary>
        /// <returns></returns>
        public override bool InitPluginModule()
        {
            EDITOR_PLUGIN_INFO.NativePluginNames = new string[] { "Havok" };
              HavokManaged.ManagedModule.InitManagedModule();

              StaticMeshShape.UsesCollisionGroups = true; // switch to displaying collision groups

              // register shape classes
              creators = new IShapeCreatorPlugin[]
                 {
                   new HavokConstraintShapeCreator(),
                   new HavokConstraintChainShapeCreator(),
                   new HavokResourceShapeCreator()
                 };

              foreach (IShapeCreatorPlugin plugin in creators)
            EditorManager.ShapeCreatorPlugins.Add( plugin );

              // create and activate panel
              _panel = new HavokPhysicsPanel(EditorManager.ApplicationLayout.DockingArea);
              _panel.ShowDockable();

              // Register automated tests
              TestSuiteBuilder testBuilder = new TestSuiteBuilder();
              TestSuite testSuite = testBuilder.Build(typeof(EditorPlugin).Assembly.FullName);
              TestManager.AddTestSuite(testSuite);

              IProject.ProjectUnloaded += new EventHandler(IProject_ProjectUnloaded);

              return true;
        }
		public void CreateBuilder()
		{
			builder = new TestSuiteBuilder();
            tempFile = Path.ChangeExtension(Path.GetTempFileName(), ".dll");
		}
Esempio n. 27
0
 public IList<TestUnitWithMetadata> Get(TestPackage package, TestRun testRun)
 {
     new NUnitInitializer().Initialize();
     var builder = new TestSuiteBuilder();
     TestSuite testSuite = builder.Build(package);
     var filter = new NUnitTestsFilter(testRun.NUnitParameters.IncludeCategories,
                                       testRun.NUnitParameters.ExcludeCategories,
                                       testRun.NUnitParameters.TestToRun);
     return ToTestUnitList(testSuite, filter, testRun);
 }
		/// <summary>
		/// Load a TestPackage
		/// </summary>
		/// <param name="package">The package to be loaded</param>
		/// <returns>True on success, false on failure</returns>
		public bool Load( TestPackage package )
		{
			this.builder = new TestSuiteBuilder();

			this.test = builder.Build( package );
			if ( test == null ) return false;

			test.SetRunnerID( this.runnerID, true );
			return true;
		}
        /// <summary>
        /// Overridden function that gets called when the plugin is loaded. Registers all creator plugins
        /// </summary>
        /// <returns></returns>
        public override bool InitPluginModule()
        {
            EDITOR_PLUGIN_INFO.NativePluginNames = new string[] { "Havok Behavior" };
            HavokBehaviorManaged.ManagedModule.InitManagedModule();

            // Register automated tests
            TestSuiteBuilder testBuilder = new TestSuiteBuilder();
            TestSuite testSuite = testBuilder.Build(typeof(EditorPlugin).Assembly.FullName);
            TestManager.AddTestSuite(testSuite);
            return true;
        }
Esempio n. 30
0
        static int Main( string[] args )
        {
            // should be the first thing to call.
              // This feature activates Group display in list views for instance.
              // Observe in the future: Is this the cause for any SEHException or strange UI behavior?

              Application.EnableVisualStyles();
              //Application.DoEvents(); // recommended in the web to avoid misc problems

              // set all possible types of culture type to avoid decimal comma in UI and prefab(!) .ToString functions
              CultureInfo culture = new System.Globalization.CultureInfo("en-US");

              // some of these are probably duplicates, but anyway...
              System.Threading.Thread.CurrentThread.CurrentCulture = culture;
              Application.CurrentCulture = culture;
              Thread.CurrentThread.CurrentCulture = culture;
              Thread.CurrentThread.CurrentUICulture = culture; // this seems responsible for number.ToString problems

              // initialize DLLs
              // int retval = ManagedFramework.ManagedFramework.minitialize() ;

              // register ManagedFramework tests in test manager
              TestSuiteBuilder testBuilder = new TestSuiteBuilder();
              TestSuite testSuiteManagedFrameWork = testBuilder.Build( typeof(ManagedFramework.VisionEngineManager).Assembly.FullName );
              TestManager.AddTestSuite(testSuiteManagedFrameWork);

              // register editor tests in test manager
              testBuilder = new TestSuiteBuilder();
              TestSuite testSuite = testBuilder.Build( typeof(EditorApp).Assembly.FullName );
              TestManager.AddTestSuite(testSuite);

              // parse command line for automated tests
              if (args.Length == 1 && args[0] == "-test")
            g_triggerTests = true;

              // this is our workaround:
              EditorManager.DesignMode = false;

              // we must ensure that the CWD is the EXE dir, otherwise we get lots of problems (bitmap files etc.)
              string sEXEDir = Application.StartupPath;
              Directory.SetCurrentDirectory(sEXEDir);

              Form1 form = new Form1();
              form.CommandLineArgs = args; // store them and parse them a bit later (first time in OnVisibleChanged)

            #if (!DEBUG)
              AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(Domain_UnhandledException);
              Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);

              try
            #endif
              {
            // run application
            Application.Run(form);
              }
            #if (!DEBUG)
              catch (Exception ex)
              {
            EditorManager.DumpException(ex, true);
              }
            #endif

              EditorApp.DeinitEditorApp();

              if (g_triggerTests)
            return (g_testResult ? 0 : -1);

              // deinit DLLs
              //ManagedFramework.ManagedFramework.mterminate();

              return 0;
        }
Esempio n. 31
0
 public void CreateBuilder()
 {
     builder = new TestSuiteBuilder();
 }
        /// <summary>
        /// InitPluginModule : called at plugin initialisation time: Add the relevant shape creators here
        /// </summary>
        public override bool InitPluginModule()
        {
            TerrainManaged.ManagedModule.InitManagedModule();
              EDITOR_PLUGIN_INFO.NativePluginNames = new string[] { "VisionEnginePlugin" };

            TerrainEditor.Init();

              // Add IShapeCreatorPlugin
            _heightFieldCreator = new TerrainShapeCreator();
            EditorManager.ShapeCreatorPlugins.Add(_heightFieldCreator);

              // add default filter:
              TerrainEditor.HeightmapImporterList.Add(new ImportHeightmapTEX16bpp());
              TerrainEditor.HeightmapImporterList.Add(new ImportHeightmapRAW());
              TerrainEditor.HeightmapImporterList.Add(new ImportHeightmapDDS());

              TerrainEditor.HeightmapFilterList.Add(new HeightmapClearFilter());
              TerrainEditor.HeightmapFilterList.Add(new HeightmapScaleElevateFilter());

              TerrainEditor.DecorationFilterList.Add(new DecorationClearFilter());
              TerrainEditor.DecorationFilterList.Add(new DecorationImportFromLuminanceFilter());
              TerrainEditor.DecorationFilterList.Add(new DecorationFromDetailTextureFilter());
              TerrainEditor.DecorationFilterList.Add(new DecorationFromSlopeFilter());

            // create panel
            _panel = new TerrainEditorPanel(EditorManager.ApplicationLayout.DockingArea);
            _panel.ShowDockable();
              TerrainEditor.EditorPanel = _panel;

              // register tests:
              TestSuiteBuilder testBuilder = new TestSuiteBuilder();
              TestSuite testSuite = testBuilder.Build(typeof(EditorPlugin).Assembly.FullName);
              TestManager.AddTestSuite(testSuite);

              return true;
        }
        private static void RunNUnitTests(string type, string uuid)
        {
            Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
            List<string> assemblyLocations = new List<string>();
            foreach (Assembly t in assemblies)
            {
                string fullName = t.FullName;
                if(fullName.Contains("Assembly-CSharp-Editor") || fullName.Contains("Assembly-UnityScript-Editor"))
                {
                    assemblyLocations.Add(t.Location);
                }
            }

            CoreExtensions.Host.InitializeService(); // need initialize service

            TestPackage testPackage = new TestPackage(PlayerSettings.productName, assemblyLocations);

            TestExecutionContext.CurrentContext.TestPackage = testPackage;

            TestSuiteBuilder builder = new TestSuiteBuilder();

            TestSuite testSuite = builder.Build(testPackage);

            if(testSuite == null)
            {
                EditorUtility.DisplayDialog(PluginConstants.ourDialogTitle, "Suite is null", "OK");
                return;
            }

            WebApiServer.ourCurrentTestUUID = uuid;

            testSuite.Run(new NUnitTestListener(uuid), TestFilter.Empty);

            WebApiServer.ourCurrentTestUUID = null;
            WebApiServer.ourCurrentTestName = null;

            TestExecutionContext.CurrentContext.TestPackage = null;
        }
Esempio n. 34
0
		private TestSuite Build( string assemblyName, int assemblyKey )
		{
			TestSuiteBuilder builder = new TestSuiteBuilder();

			Assembly assembly = Load( assemblyName );

			builder.rootSuite = new AssemblyTestSuite( assemblyName, assemblyKey );
			int testFixtureCount = 0;
			Type[] testTypes = assembly.GetExportedTypes();
			foreach(Type testType in testTypes)
			{
				if( CanMakeSuite( testType ) )
				{
					testFixtureCount++;
					string namespaces = testType.Namespace;
					TestSuite suite = builder.BuildFromNameSpace( namespaces, assemblyKey );

					//suite.Add( new TestFixture( testType ) );
					suite.Add( MakeSuite( testType ) );
				}
			}

			if(testFixtureCount == 0)
			{
				builder.rootSuite.ShouldRun = false;
				builder.rootSuite.IgnoreReason = "Has no TestFixtures";
			}

			return builder.rootSuite;
		}
Esempio n. 35
0
        protected void Page_Load(object sender, EventArgs e)
        {
            // Initialise data table to hold test results
            _results.Columns.Add("test");
            _results.Columns.Add("result");
            _results.Columns.Add("time");
            _results.Columns.Add("message");
            _results.Columns.Add("class");

            // Initialise controls
            lblResult.Text = "";
            ltlStats.Text = "";

            // Initialise NUnit
            CoreExtensions.Host.InitializeService();

            // Find tests in current assembly
            _testPackage = new TestPackage(Assembly.GetExecutingAssembly().Location);

            if (!IsPostBack)
            {
                var testSuite = new TestSuiteBuilder().Build(_testPackage);

                LoadCategories(testSuite);
                LoadTestMethodNames(testSuite);
            }
        }
        public void CanReloadAfterTurningOffAutoNamespaces()
        {
            TestSuiteBuilder builder = new TestSuiteBuilder();
            TestPackage package = new TestPackage(testsDll);
            package.Settings["AutoNamespaceSuites"] = false;
            TestSuite suite2 = builder.Build(package);
            Assert.AreEqual(originalTestCount, suite2.TestCount);
            Assert.AreEqual(MockAssembly.Classes, suite2.Tests.Count);

            ReassignTestIDsAndReload(suite2);
            CheckTreeAgainstSuite(suite2, "after turning automatic namespaces OFF");

            // TODO: This currently doesn't work
            //ReassignTestIDsAndReload(suite);
            //CheckTreeAgainstSuite(suite, "after turning automatic namespaces ON");
        }