Às vezes, dependendo da linguagem de sua equipe ou projeto, é muito mais fácil usar o script de shell para testar o servidor API. Depois de algum tempo usando esse modelo, resolvi compartilhar. Espero que ajude outros desenvolvedores também.
Depende de:
- bash
- ondulação
Testado em Ubuntu 13.04 64bit.
#!/bin/bash
URL=http://localhost:8080
## Unit-Testable Shell Scripts (http://eradman.com/posts/ut-shell-scripts.html)
typeset -i tests_run=0
function try { this="$1"; }
trap 'printf "$0: exit code $? on line $LINENOnFAIL: $thisn"; exit 1' ERR
function assert {
let tests_run+=1
[ "$1" = "$2" ] && { echo -n "."; return; }
printf "nFAIL: $thisn'$1' != '$2'n"; exit 1
}
## end
###############################################################
try "Example of GET and test for 404 status"
out=$(curl -s -w "%{http_code}" $URL)
assert "404" "$out"
try "Example of POST XML"
# Post xml (from hello.xml file) on /hello
out=$(cat test/hello.xml | curl -s -H "Content-Type: text/xml" -d @-
-X POST $URL/hello)
assert "Hello World" "$out"
###############################################################
echo
echo "PASS: $tests_run tests run"
Fonte:
Scripts Shell testáveis de unidade http://eradman.com/posts/ut-shell-scripts.html