public static async ValueTask DefaultMessageBus() { await using var ctxt = TestableTestAssemblyRunnerContext.Create(); await ctxt.InitializeAsync(); var result = ctxt.MessageBus; Assert.IsType <MessageBus>(result); }
public static async ValueTask GuardClause() { await using var ctxt = TestableTestAssemblyRunnerContext.Create(); var ex = Record.Exception(() => ctxt.MessageBus); Assert.IsType <InvalidOperationException>(ex); Assert.Equal($"Attempted to get MessageBus on an uninitialized '{typeof(TestableTestAssemblyRunnerContext).FullName}' object", ex.Message); }
public static async ValueTask SyncMessageBusOption() { var executionOptions = _TestFrameworkOptions.ForExecution(); executionOptions.SetSynchronousMessageReporting(true); await using var ctxt = TestableTestAssemblyRunnerContext.Create(executionOptions); await ctxt.InitializeAsync(); var result = ctxt.MessageBus; Assert.IsType <SynchronousMessageBus>(result); }
TestableTestAssemblyRunner( TestableTestAssemblyRunnerContext ctxt, RunSummary result, bool cancelInRunTestCollectionAsync, ITestCollectionOrderer?testCollectionOrderer) { DefaultTestCaseOrderer = GetTestCaseOrderer(ctxt); DefaultTestCollectionOrderer = GetTestCollectionOrderer(ctxt); this.ctxt = ctxt; this.result = result; this.cancelInRunTestCollectionAsync = cancelInRunTestCollectionAsync; this.testCollectionOrderer = testCollectionOrderer; }
public static TestableTestAssemblyRunner Create( _IMessageSink?executionMessageSink = null, RunSummary?result = null, _ITestCase[]?testCases = null, _ITestFrameworkExecutionOptions?executionOptions = null, bool cancelInRunTestCollectionAsync = false, ITestCollectionOrderer?testCollectionOrderer = null) { var ctxt = new TestableTestAssemblyRunnerContext( Mocks.TestAssembly(Assembly.GetExecutingAssembly()), testCases ?? new[] { Substitute.For <_ITestCase>() }, // Need at least one so it calls RunTestCollectionAsync executionMessageSink ?? SpyMessageSink.Create(), executionOptions ?? _TestFrameworkOptions.ForExecution() ); return(new(ctxt, result ?? new RunSummary(), cancelInRunTestCollectionAsync, testCollectionOrderer)); }
protected override ValueTask AfterTestAssemblyStartingAsync(TestableTestAssemblyRunnerContext ctxt) { AfterTestAssemblyStarting_Called = true; AfterTestAssemblyStarting_Context = TestContext.Current; AfterTestAssemblyStarting_Callback(ctxt.Aggregator); return(default);
protected override ITestCollectionOrderer GetTestCollectionOrderer(TestableTestAssemblyRunnerContext ctxt) => testCollectionOrderer ?? base.GetTestCollectionOrderer(ctxt);