Я нахожусь в процессе захвата унаследованной системы, которая содержит проект консольного приложения, который запускается как запланированное задание на наших производственных серверах. В основном он генерирует ежедневные и еженедельные отчеты, выполняет некоторые операции с базой данных и т. Д.
«Главное» консольного приложения обрабатывает ввод аргументов командной строки и определяет, какой из нескольких различных процессов выполнить. Что-то вроде
Модуль MainModule
Public Sub Main()
'--- Check if command line arguments were specified
Dim args() As String = Environment.GetCommandLineArgs()
If args.Length > 1 Then
ConsoleMain(args)
End If
End Sub
Public Sub ConsoleMain(ByVal args() As String)
Dim rc As New Coordinator(enableEmails_)
Try
Dim arg_ As String = args(1)
Dim success_ As Boolean = True
Select Case arg_.ToUpper()
Case TaskType.OrderIntegration
success_ = rc.OrderIntegration()
Case TaskType.Motivators
success_ = rc.MotivatorsCreateFile(New CustomerMotivatorsManager)
... repeat for each of the various "Task Types"
Конечный модуль
Какой у меня вопрос:
- Поскольку это консольное приложение с Main () и ConsoleMain (), у меня, похоже, нет ничего, к чему я могу получить доступ из теста - то есть «Main» и «ConsoleMain» не доступны. Как я могу выполнить модульное тестирование чего-то подобного, чтобы проверить, «если передан аргумент« x », вызывается функция« y »»?
Заранее спасибо,