Когда то давно, когда я вступил в этот чат, я спросил:
"А какой предполагается правильный способ передавать коду бенчмарков в BenchmarkDotNet относительные пути к файлам проекта с тестовыми данными?
Гуглил, не нашел, ArtifactsPath делает не это, в примерах кода, что видел, захардкожены абсолютные пути. "
@EgorBo тогда сказал написать, как узнаю)) Вот узнал, Андрей Акиньшин ответил:
"Краткий ответ по твоему вопросу (если всё ещё актуально):
1. Из коробки такой фичи нет, надо делать. Можешь либо сам попробовать законтрибьютить, либо завести issue — авось кто-нибудь когда-нибудь сделает. =)
2. Я бы не рекомендовал завязываться на относительные пути. По задумке сгенерированный проект может находиться где угодно. В теории может сложиться такая ситуация, когда текущая директория находится на одном диске (например, она улетела в пользовательский Temp), а testdata осталась на другом диске. Лучше использовать абсолютные пути.
3. По хорошему нужно сделать возможность указывать набор TestData-файлов, которые будут копироваться в директорию к бенчмарку. Однажды в будущем я хочу сделать распределённые бенчмарки (чтобы можно было заказывать измерения на удалённом сервере), в этом сценарии доступа к локальной файловой системе не будет.
4. На мой взгляд, с текущей версией BenchmarkDotNet лучше всего указывать абсолютные пути через ParamsSource. Прикладываю проект с примером.
Андрей."