コード例 #1
0
        /// <inheritdoc/>
        public List <KeyValuePair <string, ITestCase> > BulkDeserialize(List <string> serializations)
        {
            var callbackContainer = new DeserializeCallback();
            Action <List <KeyValuePair <string, ITestCase> > > callback = callbackContainer.Callback;

            if (defaultTestCaseBulkDeserializer == null)
            {
                if (AppDomain.HasAppDomain)
                {
                    try
                    {
                        AppDomain.CreateObject <object>(TestFrameworkAssemblyName, "Xunit.Sdk.TestCaseBulkDeserializer", RemoteDiscoverer, remoteExecutor, serializations, callback);
                        if (callbackContainer.Results != null)
                        {
                            return(callbackContainer.Results);
                        }
                    }
                    catch (TypeLoadException) { }    // Only be willing to eat "Xunit.Sdk.TestCaseBulkDeserialize" doesn't exist
                }

                defaultTestCaseBulkDeserializer = new DefaultTestCaseBulkDeserializer(remoteExecutor);
            }

            return(defaultTestCaseBulkDeserializer.BulkDeserialize(serializations));
        }
コード例 #2
0
 void EnsureInitialized()
 {
     if (innerController == null)
     {
         innerController    = CreateInnerController();
         descriptorProvider = (innerController as ITestCaseDescriptorProvider) ?? new DefaultTestCaseDescriptorProvider(innerController);
         bulkDeserializer   = (innerController as ITestCaseBulkDeserializer) ?? new DefaultTestCaseBulkDeserializer(innerController);
         toDispose.Push(innerController);
     }
 }