In addition to Jay's suggestion, if you're doing something JSONy (that
is, if your HTTP response bodies are JSON) consider using Riposte
(https://riposte.in). It's a DSL for testing such web applications. (But
only if you're serving JSON. Riposte currently doesn't help if you're
serving up HTML or something else.)
On 30 May 2019, at 20:28, Jay McCarthy wrote:
You may be interesting in the `web-server/test` library:
https://docs.racket-lang.org/web-server/test.html
--
Jay McCarthy
Associate Professor @ CS @ UMass Lowell
http://jeapostrophe.github.io
Vincit qui se vincit.
On Thu, May 30, 2019 at 2:24 PM Comrade SparklePony
wrote:
Hello,
I'm new to Racket, and to gain facility with it I have been
trying to write small webapps, i.e. a simple calculator, using the
built-in web framework. However, I have found myself stuck when
trying to implement tests for some of the functions the webapp
provides-- I am not sure how to test functions that process a
request. Specifically, I'm trying to write tests for an
"process-request" function which turns a request into a Calculator
struct. I'm confused if this is one of the unlikely scenarios in
which a request struct needs to be made, or if there is a better way
to generate a request with certain bindings.
If a request struct does need to be made, can I just place an
arbitrary instance of the required data type in each field (except
for bindings/raw-promise)? I can just place a list of binding:form in
the bindings/raw-promise field, right?
I apologize if I missed something obvious or this is an obnoxious
noob question.
Some information that may or may not be helpful:
- Racket experience so far: completed HTDP, webapp tutorial.
- Sources consulted so far:
- Racket documentation on HTTP, formlets, testing servlets,
rackunit, contracts, and delayed evaluation.
- Racket webapps hosted on github (I couldn't find any that
had used tests)
- Github link of the project so far
Thank you.
--
You received this message because you are subscribed to the Google
Groups "Racket Users" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/racket-users/637db0d5-47a8-4fb6-a2a5-b79fc58a2672%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google
Groups "Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/racket-users/CAJYbDamg1ZMmYKFbZ6d6LLmmbdR2wD1Pzq_cmRL5a3Zu%2BksYGg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Racket
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/racket-users/63F638B2-09F8-4C23-8552-4E314731FB8A%40lisp.sh.
For more options, visit https://groups.google.com/d/optout.