vid*_*idi 1 continuous-integration webdriver clojure leiningen
我有一个 clojure/ring web 应用程序,我想用 clj-webdriver 测试它。有没有一种简单的方法来运行环网络服务器,然后运行测试,以便它们以环实例为目标?
我正在考虑一种用法,例如:
$ lein 带环测试
到目前为止,我有两个想法:
编写一个自定义的高阶 leiningen 插件。好像太复杂了。是否已经存在类似的插件?
编写一个 Makefile 规则来启动环,运行 lein 测试,找到并终止环进程 - 太复杂/hacky
有没有更简单的方法?
如果您正在使用,clojure.test您可以use-fixtures在测试中调用以启动/停止您的服务器,例如:
(use-fixtures
:once
(fn [f]
(let [server (ring.adapter.jetty/run-jetty
#'your-app
{:port 1234 :join? false})]
(try
(f)
(finally
(.stop server))))))
Run Code Online (Sandbox Code Playgroud)
只需将启动/停止逻辑调整为您首选的网络服务器(本例中的码头;http-kit 将非常相似)。如果您替换为:once,:each您甚至会为每个单独的测试提供一个新的服务器实例。
| 归档时间: |
|
| 查看次数: |
769 次 |
| 最近记录: |