gpt4 book ai didi

testing - 如何从 figwheel repl 的测试目录运行 cljs.test cases?

转载 作者:行者123 更新时间:2023-11-28 20:11:22 25 4
gpt4 key购买 nike

我正在尝试开始一个经过单元测试的 clojurescript 项目,该项目基于 figwheel quickstart ,但添加了一些测试。我成功地尝试将基本的 cljs.test 用例(test-numbers from the cljs.test doc)直接添加到我的主文件 core.cljs 中。然而,当我将它分解到另一个文件中仅用于测试时,我无法从 figwheel repl 运行它。以下是相关文件的当前状态,以及我的 repl 交互。我需要更改什么才能在与我的实现不同的文件中进行可运行测试?

项目.clj:

(defproject wheel "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.7.0"]
[org.clojure/clojurescript "1.7.170"]]
:hooks [leiningen.cljsbuild]
:plugins [[lein-cljsbuild "1.1.2"]
[lein-figwheel "0.5.0-1"]]
:clean-targets ^{:protect false} [:target-path "out" "resources/public/cljs"]
:cljsbuild {
:builds [{:id "dev"
:source-paths ["src/main" "src/test"]
:figwheel true
:compiler {:main "wheel.core"
:asset-path "cljs/out"
:output-to "resources/public/cljs/main.js"
:output-dir "resources/public/cljs/out"}}]})

src/main/core.cljs:

(ns wheel.core
(:require[cljs.test :refer-macros [deftest is testing run-tests]]))

(.log js/console "Hey Seymore")

(deftest test-dev-numbers
(is (= 1 1)))

src/test/test.cljs:

(ns wheel.test
(:require [cljs.test :refer-macros [deftest is testing run-tests]]))

(deftest test-numbers
(is (= 1 1)))

在调用 lein cleanrlwrap lein figwheel 之后:

cljs.user=> (in-ns 'wheel.core)
nil
wheel.core=> (run-tests)

Testing wheel.core

Ran 1 tests containing 1 assertions.
0 failures, 0 errors.
nil
wheel.core=> (test-dev-numbers)
nil
wheel.core=> (in-ns 'wheel.test)
nil
wheel.test=> (run-tests)

Testing wheel.test
#object[TypeError TypeError: Cannot read property 'test_numbers' of undefined]
wheel.test=> (test-numbers)
#object[TypeError TypeError: Cannot read property 'test_numbers' of undefined]
wheel.test=>

我期望在 wheel.test 命名空间中运行测试的结果与在 wheel.core 命名空间中运行测试的结果完全相同。

另请注意,这是一个渐进的步骤 - 一旦我了解了它的工作原理,我打算为测试设置一个单独的构建配置,以便我可以单独运行测试 - 我只是尝试采取一些小步骤,并且我坚持这个。

最佳答案

根据我的经验,每次构建都会提供一个 ns,您可以 (in-ns 'the-ns) 调用函数。从其他 namespace 尝试会给出您遇到的错误。因此,对于每个我想要 REPL(动词)的 ns,我都有一个不同的构建 ID。您可能遇到了同样的限制。

(以上只是讨论中的最后评论)。

关于testing - 如何从 figwheel repl 的测试目录运行 cljs.test cases?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35591451/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com