Ответ 1
В вашем сценарии нечего насмехаться. Статический Program.Main
- это метод, как и любой другой, и вы проверяете его как таковой - путем его вызова.
Проблема с методом static void
заключается в том, что вы можете только проверить, генерирует ли она исключение или взаимодействует с входным аргументом (или, в конечном счете, с другими статическими членами). Поскольку с string[]
нет возможности взаимодействовать, вы можете протестировать предыдущий случай.
Однако более разумным подходом является делегирование всей логики, содержащейся в Main
, для разделения компонента и проверки его. Это позволяет не только тщательно протестировать логику обработки входных аргументов, но и упростить Main
:
public static void Main(string[] args)
{
var bootstrapper = new Bootstrapper();
bootstrapper.Start(args);
}