Jasmine を使用して JavaScript をテストするプロジェクトがあります。フロントエンドに ClojureScript を使用するように切り替えようとしています。私project.clj
のようです
(defproject myproject "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.5.1"]
[org.clojure/clojurescript"0.0-1889"]
[org.clojure/google-closure-library-third-party "0.0-2029"]
[domina "1.0.0"]
[hiccups "0.2.0"]]
:plugins [[lein-cljsbuild "0.3.3"]]
:cljsbuild {
:builds [{
:source-paths ["src/clojurescript"]
:compiler {
:output-to "public/javascripts/main.js"
:optimizations :whitespace
:pretty-print true}}
{
:source-paths ["spec/clojurescript"]
:compiler {
:output-to "spec/javascripts/mainSpec.js"
:optimizations :whitespace
:pretty-print true}}]})
したがって、 のすべての.cljs
ファイルはsrc/clojurescript
にコンパイルされ、 のmain.js
すべてのファイル.cljs
はにコンパイルspec/clojurescript
されmainSpec.js
ます。Jasmine ページをロードすると、両方の.js
ファイルがロードされますが、テストは実行されません。コンソールで、Error: Namespace "goog.debug.Error" already declared.
両方の.js
ファイルの上部に同じ〜30k行のGoogleクロージャーコードがあり、エラーが発生しています。このコードを削除すると、正常にmainSpec.js
動作します。cljsbuild にこのコードをスペック ファイルから除外するように指示する方法はありますか?