Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 无法解析符号:在此上下文中_Unit Testing_Clojure_Test Is - Fatal编程技术网

Unit testing 无法解析符号:在此上下文中

Unit testing 无法解析符号:在此上下文中,unit-testing,clojure,test-is,Unit Testing,Clojure,Test Is,我是Clojure的新手,在运行单元测试时遇到了一些问题 (ns com.bluepojo.scratch (:require clojure.test)) (defn add-one ([x] (+ x 1)) ) (is (= (add-one 3) 4)) 给出: java.lang.Exception: Unable to resolve symbol: is in this context 我错过了什么 更新: 这项工作: (clojure.test/is (= (

我是Clojure的新手,在运行单元测试时遇到了一些问题

(ns com.bluepojo.scratch
  (:require clojure.test))

(defn add-one
  ([x] (+ x 1))
  )

(is (= (add-one 3) 4))
给出:

java.lang.Exception: Unable to resolve symbol: is in this context
我错过了什么

更新:

这项工作:

(clojure.test/is (= (add-one 3) 4))

如何使其不必在is之前声明clojure.test?

您对ns宏的使用不太正确,您有几个选项可以修复它。我建议你选一个

1.别名
clojure.test
到较短的值 2.使用
使用


请仔细看看是什么解释了这一点

只需使用
require
参考

(ns com.bluepojo.scratch
  (:require [clojure.test :refer :all))
然后简单地

(is (= (add-one 3) 4))
(are ...)

:reference
还从名称空间中获取要引用的符号列表(例如
:refere[is]
)。

您在
:require
中缺少一个结尾
sexp和
use
现在被弃用,取而代之的是
require
:reference
(ns com.bluepojo.scratch
  (:require [clojure.test :refer :all))
(is (= (add-one 3) 4))
(are ...)