【发布时间】:2012-11-25 21:59:58
【问题描述】:
我正在使用 clj-webdriver 对 Clojurescript Web 应用程序进行一些基于 Selenium 的测试。有时,应用程序本身有一些东西我希望能够在测试运行时摆弄。我看到 clj-webdriver 有一个名为 (execute-script js args) 的东西,它接受一串 Javascript 代码并在当前的测试浏览器上运行它。我已经对此进行了测试,它似乎有效。不过,我想将 clojurescript 代码传递给execute-script。我需要将我的 Clojure 表单编译成 Clojurescript 代码的东西。
我看到以下question 与此相关。它说要使用离合器中的 js/emit 功能。我搜索了离合器,发现它仅在 cljs-views.clj 的(视图)中提到我在 repl 中尝试了以下操作:
user> (use 'com.ashafa.clutch.cljs-views)
nil
user> view
<core$comp$fn__4034 clojure.core$comp$fn__4034@ebd3f80>
user> js/emit
CompilerException java.lang.RuntimeException: No such namespace: js, #compiling (NO_SOURCE_PATH:1)
user>
这并不奇怪,js 怎么会出现在常规的 clojure 命名空间中?但是如何使用这个(或任何其他)系统来生成我可以传递给 execute-script 的 Clojurescript (javascript) 代码?
【问题讨论】:
标签: clojure clojurescript