Запуск BenchmarkDotnet в XUNITC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Запуск BenchmarkDotnet в XUNIT

Сообщение Anonymous »

Я использую .NET CORE 3.1 в своем проекте (Web API, VS2019) и XUNIT 2.4.1. Недавно я думал о добавлении некоторых тестов на производительность, и я пришел в эту библиотеку - BenchmarkDotnet. Поскольку я уже использовал XUNIT для других тестов, я хотел запустить BendmarkDotnet из XUNIT [FACT] S . Поэтому я попытался следующим образом: < /p>


Чтобы сделать его простой, я создал свежий новый .net Core 3.1 < /strong> Консольный проект приложения с примером метода, который я хотел, чтобы сравнить: < /li>
< /ol>

Код: Выделить всё

[SimpleJob(RuntimeMoniker.NetCoreApp31)]
[MinColumn, MaxColumn, MedianColumn, KurtosisColumn]
[HtmlExporter]
public class TestScenarios
{
[Params("test")]
public string TextToHash { get; set; }

[Benchmark]
public string CalculateSha256()
{
var engine = SHA256.Create();
var hash = engine.ComputeHash(Encoding.ASCII.GetBytes(TextToHash));
return Encoding.ASCII.GetString(hash);
}
}
< /code>

Тогда в  program.cs < /strong> у меня есть: < /p>

class Program
{
static void Main(string[] args)
{
BenchmarkRunner.Run();
}
}
< /code>

при составлении и запуске приложения в папке  release < /strong> I подтвердил, что  BenchmarkDotnet.Artifacts < /em> с журналом и эталон Метод: < /li>
< /ol>

public class DotNetBenchmarkTest
{
[Fact]
public void TestMethod()
{
BenchmarkRunner.Run();
}
}
Также построение в release [/b] конфигурация и запуск этого метода из Test Explorer создаст benchmarkdotnet.artifacts в папке bin/release/dotnetcoreapp3.1/, но файлы журналов пусты. xunit.runner.json < /strong> файл с следующим содержанием корня моего проекта XUNIT: < /li>
< /ol>

{
"$schema": "https://xunit.net/schema/current/xunit. ... chema.json",
"shadowCopy": false,
"methodDisplay": "classAndMethod",
"diagnosticMessages": true
}
< /code>

Но, по-видимому, не оказывает никакого влияния на поведение-я проверил, что файл xunit.runner.json < /em> копируется в каталог выходного бина (Properties-> Copy в directory-> copy всегда). v2.4.1 < /em> и попытался запустить тесты из консоли: < /li>
< /ol>

xunit .\path\assembly-name.dll -noshadow
< /code>

Еще раз без удачи. Опция -noshadow
я нашел по этой ссылке Github. Похоже, вариант был доступен в более старой версии, но не указан мой выход помощи для xunit console Runner v2.4.1 , но я попробовал.>

Подробнее здесь: https://stackoverflow.com/questions/608 ... thin-xunit
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как читать таблицу результатов BenchmarkDotNet
    Anonymous » » в форуме C#
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Диагностика памяти BenchmarkDotNet
    Anonymous » » в форуме C#
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как сравнить APS ASP.NET Core REST с использованием BenchmarkDotnet?
    Anonymous » » в форуме C#
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • BenchmarkDotnet: OutofmemoryException при сравнительном анализе файла json
    Anonymous » » в форуме C#
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • BenchmarkDotnet: OutofmemoryException при сравнительном анализе файла json
    Anonymous » » в форуме C#
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»