Я пытаюсь написать модульный тест для клиент-серверного приложения. Чтобы проверить клиента, в моем модульном тесте я хочу сначала запустить мой tcp сервер (который сам по себе является другим файлом perl). Я попытался запустить TCP-сервер, разветвившись:
if (! fork()) {
system ("$^X server.pl") == 0 or die "couldn't start server"
}
Поэтому, когда я звоню make test
после perl Makefile.PL
, запускается этот тест, и я вижу, что сервер запускается, но после этого там просто зависает модульный тест. Поэтому я думаю, что мне нужно запустить этот сервер в фоновом режиме, и я попытался &
в конце, чтобы заставить его запускаться в фоновом режиме, а затем проверить, чтобы продолжить. Но я все еще не смог добиться успеха. Что я делаю неправильно? Спасибо.