Я не уверен, что это хорошая идея - создать эталон для кода, который выполняет вызовы из базы данных и т. Д. Тогда вы тестируете не эталон code , а всю вашу систему : файловая система, драйверы базы данных, возможные взаимодействия и т. д.
Это не идея BenchmarkDotNet.На самом деле он создан для сравнительного анализа сравнительно небольших задач, связанных с ЦП, для поиска узких мест и оптимизации на основе измерений.
Однако, если вы все еще хотите это сделать, решение может состоять в том, чтобы запустить эталонный тест в процессеконсольное приложение, которое вы создали, без создания специальных сборочных тестов.
Для этого используйте атрибут [InProcess]
.Просто примените его к своему стандартному классу вместо обычных атрибутов работы:
[InProcess]
public class TypeWithBenchmarks
{
[Benchmark]
public void BenchmarkedMethod()
{
}
}