Чтобы сделать его простой, я создал свежий новый .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();
}
}
< /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