testing - 如何获得简单的 clojurescript 编译的直接结果?

标签 testing clojure clojurescript cljsbuild

我希望能够在测试时将 javascript 代码注入(inject)我的应用程序。按照这一推理,我在回复中执行以下操作。

=> (cljs.closure/build '(swap! my-project.my-namespace.my-atom inc) {})
<= "goog.addDependency(\"base.js\", ['goog'], []);\ngoog.addDependency(\"../x8LL7.js\", [], []);"

然后我

=> more out/x8LL7.js 
<= cljs.core.swap_BANG_.call(null,my_project.my_namespace.my_atom,cljs.core.inc);

是的,看来这就是我想要的。我可能弄错了,但我认为我不需要“base.js”依赖项,因为它已经包含在正在测试的正在运行的应用程序中(使用 :simple :optimizations)。

我的问题是,如何获取文件 out/x8LL7.js 的内容?我只想要写入 out/x8LL7.js 的字符串,因为我没有用到从 cljs.closure/build 返回的 deps 文件字符串。

如果不容易,那么我想我可以解析返回的 deps 字符串,自己打开文件,然后使用内容;没什么大不了的。尽管如此,我还是希望有更直接的方法。

最佳答案

更直接的方法是注入(inject) js 代码(如“var DEBUG=true;”),然后从 clojurescript 引用它。注入(inject) clojurescript 是有风险的,因为没有约定 clojurescript 将被编译的 js 代码——您可能拥有与其他优化设置或 clojurescript 版本完全不同的代码。

关于testing - 如何获得简单的 clojurescript 编译的直接结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14446605/

相关文章:

testing - Visual Studio 2015 测试代理的 ISO 在哪里?

debugging - RejectedExecutionException和Clojure并发

python - 出于测试目的访问原始装饰函数

ruby-on-rails - Rspec - 处理正确生成的电子邮件

java - 在 Java 库项目中使用 Clojure 接口(interface)

java - core.logic可以直接在Java中使用吗?

clojure - 为什么多方法不能用作试剂/重组的功能?

clojurescript - Clojurescript:表达式中有两个点

clojure - 如何在 Clojure 和 ClojureScript 之间共享协议(protocol)

android - "Empty suite" Espresso 测试