Как написать программу для проверки другой программы / сценария? - PullRequest
0 голосов
/ 16 июля 2010

Как написать программу для тестирования другой программы / скрипта?

Мне нужно протестировать скрипт ruby, который является эхо-сервером; Как мне написать программу для проверки правильности работы скрипта эхо-сервера?

Ответы [ 3 ]

1 голос
/ 16 июля 2010

Вы можете начать с чего-то подобного для эхо-сервера TCP:

require "socket"

hostname = "localhost"
port = 2000

s = TCPSocket.open(hostname, port)

s.print "something\n"     # was "something"

line = s.gets
line.chop!

if line == "something"
    puts "echo test  passed"
else
    puts "echo test failed: rcvd [#{line}]\n"
end

s.close

В зависимости от того, какой тип тестирования вам необходим, вы можете расширить тестовый клиент, использовать несколько сокетов, несколько потоков, тестфреймворк, такой как Test :: Unit, Cucumber ...


РЕДАКТИРОВАТЬ: он работает со следующим эхо-сервером, мне просто нужно было добавить '\ n' к данным клиента

require 'socket'  

port = 2000

server = TCPServer.open(port)
loop {                         
  client = server.accept
  data = client.gets 
  client.puts data
  client.close
}
1 голос
/ 16 июля 2010

Вас могут заинтересовать Ожидайте и dejaGnu .

0 голосов
/ 16 июля 2010

В Ruby есть встроенная среда модульного тестирования, которая называется Test :: Unit .Однако я предпочитаю работать с фреймворком Rspec BDD.В идеале, BDDers предпочитают писать тесты перед фактическим кодом, но вы, безусловно, можете писать тесты после факта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...