© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
C#C
C#•11mo ago•
2 replies
WolfDK

Issues running BenchmarkDotNet fron NUnit test

I am trying to have BenchmarkDotNet run a Benchmark when running (NUnit) tests for one of my services.
However the Benchmark fails with 'Build Error'.
My whole project has no trouble building and running, so i don't understand what its issue is...

I have included the testlog, for anybody who wish to look through that...

My test that runs the Benchmark is the following.

[Test]
public void BenchmarkPerformance()
{
    ManualConfig config = ManualConfig.Create(DefaultConfig.Instance)
        .WithOptions(ConfigOptions.DisableOptimizationsValidator).AddLogger(ConsoleLogger.Default)
        .AddExporter(MarkdownExporter.GitHub).AddExporter(HtmlExporter.Default).AddExporter(JsonExporter.Default)
        .AddValidator(JitOptimizationsValidator.DontFailOnError).AddFilter(new ExcludeAssembliesFilter("Uno"));

    Summary? summary = BenchmarkRunner.Run<AppliedKeywordServiceBenchmarks>(config);
}

private class ExcludeAssembliesFilter : IFilter
{
    private readonly string[] _excludedAssemblies;

    public ExcludeAssembliesFilter(params string[] excludedAssemblies)
    {
        _excludedAssemblies = excludedAssemblies;
    }

    public bool Predicate(BenchmarkCase benchmarkCase)
    {
        foreach (string assembly in _excludedAssemblies)
        {
            if (benchmarkCase.Descriptor.Type.Assembly.FullName.Contains(assembly))
            {
                return false;
            }
        }

        return true;
    }
}
[Test]
public void BenchmarkPerformance()
{
    ManualConfig config = ManualConfig.Create(DefaultConfig.Instance)
        .WithOptions(ConfigOptions.DisableOptimizationsValidator).AddLogger(ConsoleLogger.Default)
        .AddExporter(MarkdownExporter.GitHub).AddExporter(HtmlExporter.Default).AddExporter(JsonExporter.Default)
        .AddValidator(JitOptimizationsValidator.DontFailOnError).AddFilter(new ExcludeAssembliesFilter("Uno"));

    Summary? summary = BenchmarkRunner.Run<AppliedKeywordServiceBenchmarks>(config);
}

private class ExcludeAssembliesFilter : IFilter
{
    private readonly string[] _excludedAssemblies;

    public ExcludeAssembliesFilter(params string[] excludedAssemblies)
    {
        _excludedAssemblies = excludedAssemblies;
    }

    public bool Predicate(BenchmarkCase benchmarkCase)
    {
        foreach (string assembly in _excludedAssemblies)
        {
            if (benchmarkCase.Descriptor.Type.Assembly.FullName.Contains(assembly))
            {
                return false;
            }
        }

        return true;
    }
}
BenchmarkPerformance-638798724900292607.testlog123.23KB
C# banner
C#Join
We are a programming server aimed at coders discussing everything related to C# (CSharp) and .NET.
61,871Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

write nunit test
C#CC# / help
2y ago
✅ NUnit don't execute my test
C#CC# / help
3y ago
NUnit test with Asp net web API
C#CC# / help
17mo ago
✅ Trying out NUnit test, I need help!
C#CC# / help
2y ago