问题标签 [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.

0 投票
2 回答
307 浏览

authentication - 使用 Friend 在 Clojure Web 应用程序的单元测试中忽略身份验证?

我正在使用朋友来保护我的 Web 应用程序中的某些页面,到目前为止它运行良好。不过,我的测试代码遇到了问题:我似乎无法绕过身份验证机制或模拟朋友的授权调用。到目前为止我尝试过的事情:

  • 使用包含身份验证信息的映射包装请求
  • 使用 midje/provided 模拟给朋友/授权的电话

第一种方法似乎不起作用,因为我不确定我需要向请求中添加什么,而第二种方法似乎不起作用,因为 midje 似乎根本看不到对朋友/授权的调用. 相关事实如下所示:

这是相应的(正在运行的)组合路由:

我基本上friend/authorize在 midje 事实中对呼叫进行了宏扩展,但由于授权,我仍然得到两个 FAILS。在添加授权之前测试成功,所以这确实是我需要解决的朋友授权部分。

有没有解决这个问题的最佳实践?

0 投票
0 回答
107 浏览

maven - 使用 maven 测试的 Midje 测试

我正在使用 Clojure maven 插件,并且我已经使用clojure.testmidje 和 midje 编写了测试。

Clojure.test 与 maven 很好地集成并mvn test运行所有测试,而 midje 测试被评估但未从mvn test. 我在 google groups 上发现了一篇帖子,它指的是把事实放在一个deftest块中。有没有其他解决方法?

0 投票
3 回答
797 浏览

clojure - 在 Midje 中存根内部函数调用

我正在测试一个使用其他命名空间中的其他两个函数的函数。

我想从其他命名空间中提取函数,并且在编写测试时遇到问题。

但这种方法似乎不起作用。有什么提示吗?是否只是在使用在 let 子句中提供的 midje 中建议的可检查之前评估let 的情况不存根方法

0 投票
1 回答
393 浏览

clojure - Clojure/Midje 使用 AOT 编译和源内部测试无法运行

我正在尝试将 midje“事实”与我的源代码一起包含在使用 aot 的项目中。尝试访问 repl 或运行项目会导致以下错误,我已经包含了一个重现该问题的最小示例项目。谢谢你的帮助!

项目.clj

src/clj/org/midjetest/core.clj

lein runlein repl给出以下错误:

0 投票
0 回答
287 浏览

unit-testing - lein midje 找不到某些文件

我正在尝试使用midje进行单元测试,但遇到了一些问题。

假设我有这个目录结构:

其中.../faris/lune/middleware/t_core.clj包含一个简单的测试:

它总是失败并显示以下错误消息:

这对我来说非常神秘,因为就像 midje 找到了测试文件,读取了 ns (faris.lune.middleware.t-core) 然后说找不到它。

有什么帮助吗?我一定遗漏了一些明显的东西。

0 投票
1 回答
368 浏览

testing - 在 midje 测试中使用 ring-mock 将数据传递到解放者后端点

我正在尝试使用 ring-mock 编写 midje 测试来发布到解放者端点。我可以成功地为获取请求编写测试,但我似乎无法将数据传递给帖子,我只能取回格式错误的响应。这是我拥有的代码的核心。

0 投票
2 回答
206 浏览

clojure - 使用 Midje 伪造朋友凭证功能

我正在尝试使用 Midje 单独测试我的路由。对于一些命中数据库的路由,我可以毫不费力(provided ...)地将路由与真正的数据库调用隔离开来。我已经介绍了 Friend 进行身份验证,但我无法伪造对凭据函数的调用。

我的凭证函数看起来像这样(它是这样实现的,因为我不希望它被调用):

路由的中间件如下所示:

我也尝试过不使用 auth-json-workflow,路由的实现看起来几乎相同,如果有帮助,我可以添加它,但我得到相同的结果。

然后我的测试看起来像这样(使用 ring-mock):

然后我得到以下运行测试的输出:

所以从我可以看到提供的声明没有生效,我不知道为什么。有任何想法吗?

0 投票
1 回答
363 浏览

clojure - Clojure,midje:lein 测试 - 运行两次

我只是在某个项目上玩弄 midje。core_test.clj:

lein 测试的输出:

它只运行两次。奇怪的是,基本的lein new midje项目运行一次,但我看不出有什么实质性的区别。

0 投票
1 回答
126 浏览

clojure - 测试失败时 Midje 打印堆栈跟踪

我正在学习 Clojure,并尝试使用 TDD 来做到这一点 *.

我使用 midje 作为测试库。到目前为止喜欢它,预期与实际结果的显示非常有帮助。

但是有没有办法使用clojure.tools.trace或类似的方法来打印第一个失败的测试的痕迹?

*:具体来说,我记得看过 Robert C. Martin 关于转换优先级前提的演讲,我正在以这种方式实现阶乘函数。虽然还没有多少代码可以显示。

0 投票
1 回答
331 浏览

clojure - 对于循环在 midje 测试中不起作用?

在 midje 中发现了一些奇怪的行为,不确定它是否与 midje 相关,或者由于我对某些 clojure 构造的误解,但这令人费解:

在事实语句中,不会调用 for 循环:

认为这可能与 for 在 ns 中被覆盖有关,但调用 clojure.core/for 的行为类似。