kam*_*uel 6 compilation leiningen clojurescript cypress
我正在尝试使用ClojureScript编写用于使用的项目的赛普拉斯测试lein-cljsbuild.使用以下配置,我能够将单个测试命名空间编译为单个.js文件:
:cljsbuild
{:builds [{:id "cypress"
:source-paths ["test/cypress"]
:compiler {:optimizations :simple
:main "specs.login-spec"
:output-to "cypress/integration/login_spec.js"
:output-dir "test-resources/cypress/js/build/"}}]}
Run Code Online (Sandbox Code Playgroud)
以上工作正常,并在赛普拉斯正确执行.
现在我想缩放它.这是我的要求:
specs.login-spec,specs.shopping-cart-spec,specs.checkout-spec等等(我希望有几十那些).lein cljsbuild auto …应该仍然有效,并使用增量构建.我该如何做到这一点?
最天真的方法是为每个规范指定一个构建计划.但这意味着对于N规格,我需要运行编译N次.那将是非常缓慢的.
突然出现在我脑海中的另一个想法是ClojureScript模块,但以下设置会发出空文件:
{:id "cypress"
:source-paths ["test/cypress"]
:compiler {:optimizations :simple
:output-dir "test-resources/cypress/js/build/"
:modules {:m1 {:output-to "cypress/integration/login_spec.js"
:entries #{"specs.login-spec"}}
:m2 {:output-to "cypress/integration/checkout_spec.js"
:entries #{"specs.checkout-spec"}}}}}
Run Code Online (Sandbox Code Playgroud)
我的spec文件现在非常简单 - 单独地,它们在赛普拉斯编译和运行就好了.例:
(ns specs.login-spec
(:require [tools.commands]
[tools.interop :refer [cy describe it]]))
(describe "Lorem" (fn []
(describe "Ipsum" (fn []
(it "Blah!" (fn []
(-> cy
(.LogInAndNavigate)
…)))))))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
185 次 |
| 最近记录: |