Exemplo n.º 1
0
        public void ReturnFromServicesModelBinderTypeWhenCallBinderType()
        {
            var fromServices = new FromServicesAttribute();
            var modelBinder  = fromServices.BinderType;

            Assert.AreEqual(typeof(FromServicesModelBinder), modelBinder);
        }
Exemplo n.º 2
0
    public async Task <RunSummary> RunAsync(IXunitTestCase testCase, IServiceProvider provider, IMessageSink diagnosticMessageSink, IMessageBus messageBus, object?[] constructorArguments, ExceptionAggregator aggregator, CancellationTokenSource cancellationTokenSource)
    {
        var scope = provider.CreateScope();

        await using var _ = scope.AsAsyncDisposable().ConfigureAwait(false);

        var raw = new Dictionary <int, object>();

        foreach (var kv in FromServicesAttribute.CreateFromServices(testCase.Method.ToRuntimeMethod()))
        {
            raw[kv.Key] = testCase.TestMethodArguments[kv.Key];

            testCase.TestMethodArguments[kv.Key] = kv.Value == typeof(ITestOutputHelper)
                ? throw new NotSupportedException("Can't inject ITestOutputHelper via method arguments when use StaFact")
                : provider.GetService(kv.Value);
        }

        constructorArguments = DependencyInjectionTestMethodRunner.CreateTestClassConstructorArguments(scope.ServiceProvider, constructorArguments, aggregator);

        var summary = await testCase.RunAsync(diagnosticMessageSink, messageBus, constructorArguments, aggregator, cancellationTokenSource).ConfigureAwait(false);

        foreach (var kv in raw)
        {
            testCase.TestMethodArguments[kv.Key] = kv.Value;
        }

        return(summary);
    }
Exemplo n.º 3
0
        public void ReturnInstanceOfTypeFromServicesModelBinder()
        {
            var fromServices = new FromServicesAttribute();

            var modelBinder = fromServices.GetBinder();

            Assert.IsInstanceOfType(modelBinder, typeof(FromServicesModelBinder));
        }
Exemplo n.º 4
0
        public void InheriteOfModelBinderAttribute()
        {
            var fromServices = new FromServicesAttribute();

            Assert.IsInstanceOfType(fromServices, typeof(ModelBinderAttribute));
        }