Я собираюсь пойти с вашей второй мыслью об этом "Или это совершенно неправильный способ решить эту проблему".
Чтобы решить эту проблему легко и не запутать ваш отдел поддержки, я бы порекомендовал создать небольшую оболочку командной строки для тестового класса. Вы можете написать инструмент командной строки самостоятельно или, если хотите, можете сделать следующее:
using CSharpTest.Net.Commands;
static void Main(string[] args)
{
MyTest testClass = new MyTest();
// optional: testClass.MySetupMethod();
new CommandInterpreter(testClass).Run(args);
}
Просто создайте приведенный выше код как исполняемый файл командной строки в новом проекте, ссылающемся на вашу тестовую сборку и CSharpTest.Net.Libary.dll. Пространство имен CSharpTest.Net.Commands определено в сборке CSharpTest.Net.Libary.dll из этой загрузки .
По сути, вышеприведенный код будет сканировать ваш тестовый класс (с именем MyTest в приведенном выше примере) и отображать все открытые методы в виде команд, которые могут быть выполнены через командную строку. По умолчанию он предоставляет вывод справки и устанавливает Environment.ExitCode в случае сбоя. Если вы хотите получить фантазию, вы можете украсить свои тесты одним из следующих способов:
public class MyTest
{
[System.ComponentModel.DisplayName("rename-this-function")]
[System.ComponentModel.Description("Some description for tech-support")]
[System.ComponentModel.Browsable(true | false)]
public void TestSomeFunction()
{ ... }
}
(И да, я признаю, что бессовестно подключаю свой собственный код чуть-чуть:)