问题标签 [midje]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
authentication - 使用 Friend 在 Clojure Web 应用程序的单元测试中忽略身份验证?
我正在使用朋友来保护我的 Web 应用程序中的某些页面,到目前为止它运行良好。不过,我的测试代码遇到了问题:我似乎无法绕过身份验证机制或模拟朋友的授权调用。到目前为止我尝试过的事情:
- 使用包含身份验证信息的映射包装请求
- 使用 midje/provided 模拟给朋友/授权的电话
第一种方法似乎不起作用,因为我不确定我需要向请求中添加什么,而第二种方法似乎不起作用,因为 midje 似乎根本看不到对朋友/授权的调用. 相关事实如下所示:
这是相应的(正在运行的)组合路由:
我基本上friend/authorize
在 midje 事实中对呼叫进行了宏扩展,但由于授权,我仍然得到两个 FAILS。在添加授权之前测试成功,所以这确实是我需要解决的朋友授权部分。
有没有解决这个问题的最佳实践?
maven - 使用 maven 测试的 Midje 测试
我正在使用 Clojure maven 插件,并且我已经使用clojure.test
midje 和 midje 编写了测试。
Clojure.test 与 maven 很好地集成并mvn test
运行所有测试,而 midje 测试被评估但未从mvn test
. 我在 google groups 上发现了一篇帖子,它指的是把事实放在一个deftest
块中。有没有其他解决方法?
clojure - 在 Midje 中存根内部函数调用
我正在测试一个使用其他命名空间中的其他两个函数的函数。
我想从其他命名空间中提取函数,并且在编写测试时遇到问题。
但这种方法似乎不起作用。有什么提示吗?是否只是在使用在 let 子句中提供的 midje 中建议的可检查之前评估let 的情况不存根方法
clojure - Clojure/Midje 使用 AOT 编译和源内部测试无法运行
我正在尝试将 midje“事实”与我的源代码一起包含在使用 aot 的项目中。尝试访问 repl 或运行项目会导致以下错误,我已经包含了一个重现该问题的最小示例项目。谢谢你的帮助!
项目.clj
src/clj/org/midjetest/core.clj
lein run
或lein repl
给出以下错误:
unit-testing - lein midje 找不到某些文件
我正在尝试使用midje进行单元测试,但遇到了一些问题。
假设我有这个目录结构:
其中.../faris/lune/middleware/t_core.clj
包含一个简单的测试:
它总是失败并显示以下错误消息:
这对我来说非常神秘,因为就像 midje 找到了测试文件,读取了 ns (faris.lune.middleware.t-core) 然后说找不到它。
有什么帮助吗?我一定遗漏了一些明显的东西。
testing - 在 midje 测试中使用 ring-mock 将数据传递到解放者后端点
我正在尝试使用 ring-mock 编写 midje 测试来发布到解放者端点。我可以成功地为获取请求编写测试,但我似乎无法将数据传递给帖子,我只能取回格式错误的响应。这是我拥有的代码的核心。
clojure - 使用 Midje 伪造朋友凭证功能
我正在尝试使用 Midje 单独测试我的路由。对于一些命中数据库的路由,我可以毫不费力(provided ...)
地将路由与真正的数据库调用隔离开来。我已经介绍了 Friend 进行身份验证,但我无法伪造对凭据函数的调用。
我的凭证函数看起来像这样(它是这样实现的,因为我不希望它被调用):
路由的中间件如下所示:
我也尝试过不使用 auth-json-workflow,路由的实现看起来几乎相同,如果有帮助,我可以添加它,但我得到相同的结果。
然后我的测试看起来像这样(使用 ring-mock):
然后我得到以下运行测试的输出:
所以从我可以看到提供的声明没有生效,我不知道为什么。有任何想法吗?
clojure - Clojure,midje:lein 测试 - 运行两次
我只是在某个项目上玩弄 midje。core_test.clj:
lein 测试的输出:
它只运行两次。奇怪的是,基本的lein new midje项目运行一次,但我看不出有什么实质性的区别。
clojure - 测试失败时 Midje 打印堆栈跟踪
我正在学习 Clojure,并尝试使用 TDD 来做到这一点 *.
我使用 midje 作为测试库。到目前为止喜欢它,预期与实际结果的显示非常有帮助。
但是有没有办法使用clojure.tools.trace
或类似的方法来打印第一个失败的测试的痕迹?
*:具体来说,我记得看过 Robert C. Martin 关于转换优先级前提的演讲,我正在以这种方式实现阶乘函数。虽然还没有多少代码可以显示。
clojure - 对于循环在 midje 测试中不起作用?
在 midje 中发现了一些奇怪的行为,不确定它是否与 midje 相关,或者由于我对某些 clojure 构造的误解,但这令人费解:
在事实语句中,不会调用 for 循环:
认为这可能与 for 在 ns 中被覆盖有关,但调用 clojure.core/for 的行为类似。