다른 프로그램/스크립트를 테스트하는 프로그램을 작성하는 방법은 무엇입니까?다른 프로그램/스크립트의 유효성을 검사하는 프로그램을 작성하는 방법은 무엇입니까?
에코 서버 인 루비 스크립트를 테스트해야합니다. echo 서버 스크립트의 올바른 작동을 검증하는 프로그램을 어떻게 작성해야합니까?
다른 프로그램/스크립트를 테스트하는 프로그램을 작성하는 방법은 무엇입니까?다른 프로그램/스크립트의 유효성을 검사하는 프로그램을 작성하는 방법은 무엇입니까?
에코 서버 인 루비 스크립트를 테스트해야합니다. echo 서버 스크립트의 올바른 작동을 검증하는 프로그램을 어떻게 작성해야합니까?
Expect 및 dejaGnu에 관심이 있으실 것입니다.
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
당신이, 당신은 몇 가지 소켓, 다중 스레드를 사용하여 테스트 클라이언트를 성장할 수있는 필요한 어떤 종류의 테스트, 테스트 프레임 워크를 따라 : 당신은 TCP 에코 서버에 대해이 같은 뭔가를 시작할 수
이러한 테스트 : 단위, 오이 ... 등
편집 : 그것은 에코 서버 다음, 난 그냥 클라이언트 데이터에 '\ n을'을 추가했다 작동
require 'socket'
port = 2000
server = TCPServer.open(port)
loop {
client = server.accept
data = client.gets
client.puts data
client.close
}
오, 미안하지만,이게 작동하지 않아, 나는 에코 서버에이 클라이언트를 사용했다. 그러나 개념은 원하는 것이 었습니다. –
글쎄요, 위의 서버에서 작동합니다. 단지 교환 된 문자열에'\ n'을 추가해야했습니다. – philant
Ruby에는 Test::Unit이라는 단위 테스트 프레임 워크가 내장되어 있습니다. 그러나 BDD 프레임 워크 Rspec을 사용하는 것이 더 좋습니다. BDD는 실제 코드보다 먼저 테스트를 작성하는 것이 가장 이상적이지만 사실 후에 테스트를 작성할 수 있습니다.
에코 서버에 연결하고, 무언가를 인쇄하고, 무언가를 읽고, 읽은 내용을 비교하는 클라이언트가 필요합니다. – philant
예. echo 서버가 작동하고 telnet을 사용하여 수동으로 테스트했습니다. 테스트 프로세스를 자동화하여 텔넷 클라이언트가 보내는 내용을 에코 서버가 표시하도록해야하므로이 스크립트/prog로 작성해야합니다. 다른 언어 또는 루비 그 자체. –
파이썬에는'telnet' 라이브러리가 있습니다. 루비도 하나라고 생각합니다. 텔넷을 사용하여 테스트 할 수 있다면 자동화를 위해 라이브러리를 사용하는 것이 간단해야합니다. –