lazytest
Clojure测试框架使用指南
lazytest (archived) New test framework for Clojure 项目地址: https://gitcode.com/gh_mirrors/la/lazytest
项目介绍
懒惰测试(Lazytest) 是由Stuart Sierra创建的一个用于Clojure编程语言的通用测试后台。虽然该项目已被归档(截止日期为2017年11月9日),它曾作为支持多种测试模式和风格的新一代测试框架而存在。Lazytest设计用来定义一组可执行测试的泛型表示,使得任何能够编译成这些表示的测试代码都能利用其运行和报告工具。此框架遵循Eclipse Public License 1.0许可协议。
快速启动
使用Leiningen
- 获取示例项目并放置在合适的位置。
- 将您的应用程序源码放在
src/
目录下,测试源码放在test/
目录下。 - 运行以下命令以设置环境:
lein clean lein deps
- 自动运行测试,文件保存时即触发:
按java -cp "src:test:classes:lib/*" lazytest/watch src test
CTRL+C
停止自动测试。 - 手动运行一次测试:
java -cp "src:test:classes:lib/*" lazytest/main src test
使用Maven
- 复制示例项目到您的工作空间。
- 应用程序源码应位于
src/main/clojure/
,测试源码则在src/test/clojure/
。 - 启用自动测试监视:
同样,按mvn lazytest:watch
CTRL+C
终止。 - 单次手动执行测试:
mvn lazytest:run
应用案例和最佳实践
基于deftest
的测试
在Clojure中,通过deftest
宏定义每个测试,如同替换标准的clojure.test
库。例如:
(ns your.app.tests
(:use [lazytest.deftest :only (deftest is)]))
(deftest addition-test
(is (= 4 (+ 2 2)))
(is (= 7 (+ 3 4))))
驱动式测试(BDD)风格的描述
模仿RSpec等库,使用describe
来组织和描述测试组:
(ns your.app.behavior-tests
(:use [lazytest.describe :only (describe it)]))
(describe "App Behavior"
(it "performs addition correctly"
(is (= 5 (+ 2 3)))))
最佳实践是将相关测试逻辑组织在描述性块内,保持测试的清晰性和可读性。
典型生态项目
由于lazytest
项目已归档,目前并没有特定的“典型生态项目”围绕它进行更新开发。然而,在Clojure生态系统中,活跃的测试框架如clojure.test
和midje
通常被推荐用于新的项目。对于那些对旧项目进行维护或者对历史上的Clojure测试方法感兴趣的人来说,lazytest
提供了一个研究不同测试范式的窗口。
请注意,以上内容基于对归档项目的描述,实际使用时需考虑社区的当前推荐和活跃的测试解决方案。
lazytest (archived) New test framework for Clojure 项目地址: https://gitcode.com/gh_mirrors/la/lazytest
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考