我的函数接受一个map参数,在其中我从中获取存款值。目前,我能够测试存款值是否为空或存款值是否大于某个值等情况等。我的API跟踪用户进行存款的次数并使用原子跟踪此情况用户已经存款超过4次,他/她应该收到一定的错误信息。如何使用midje测试此场景?
以下是我的示例测试用例:
(facts "Mytesting"
(fact "Invalid Amount"
(let [response (httpserver/app (mock/request
:post "/deposit"
{:deposit "9"}))] ;
(:status response) => 422
(:headers response) => {"Content-Type" "application/json; charset=utf-8", "X-Content-Type-Options" "nosniff", "X-Frame-Options" "SAMEORIGIN", "X-XSS-Protection" "1; mode=block"}
(:body response) => (json/write-str {:status-code -2 :status-msg "Invalid Amount"}))))
答案 0 :(得分:0)
嗯,对于初学者,你应该先写下你的测试: - )。
但由于代码已经存在,我将告诉你我的工作方式:
provided
功能来验证是否正确调用了支持功能。provided
模拟任何其他与之无关的功能。您当然也可以添加端到端测试来验证整个代码堆栈的行为,但这可能涉及设置数据库等......
要了解有关如何测试特定代码的更多信息,我需要了解有关内部工作原理的更多信息。