簡體   English   中英

如何編寫一個程序來驗證另一個程序/腳本?

[英]how to write a program to validate another program/script?

如何編寫一個程序來測試另一個程序/腳本?

我需要測試作為回顯服務器的ruby腳本; 我應該如何編寫一個程序來驗證echo服務器腳本的正確工作?

您可能對ExpectdejaGnu感興趣

您可以從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
}

Ruby有一個稱為Test :: Unit的內置單元測試框架。 但是,我傾向於使用Rspec BDD框架。 理想情況下,BDDer喜歡在實際代碼之前編寫測試,但是您當然可以在事實之后編寫測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM