gpt4 book ai didi

unit-testing - 是否可以调整 clojure.test 的输出?

转载 作者:行者123 更新时间:2023-12-04 10:19:40 24 4
gpt4 key购买 nike

我有这个测试:

(ns opengltuts.core-test
(:use clojure.test
opengltuts.util)
(:import (org.lwjgl.opengl
GL11 GL12 GL13 GL14 GL15 GL20 GL21 GL30 GL31 GL32 GL33)))

(def gl-classes [GL11 GL12 GL13 GL14 GL15 GL20 GL21 GL30 GL31 GL32 GL33])

(deftest find-method-test
(testing "find-method finds method in single class"
(is (= (find-method "toString" Object)
["public java.lang.String java.lang.Object.toString()"])))
(testing "find-method finds all methods in list of classes"
(is (= (apply find-method "glShaderSource" gl-classes)
(comment "Omitted a 'p' to trigger failure")
["ublic static void org.lwjgl.opengl.GL20.glShaderSource(int,java.nio.ByteBuffer)"
"public static void org.lwjgl.opengl.GL20.glShaderSource(int,java.lang.CharSequence)"
"public static void org.lwjgl.opengl.GL20.glShaderSource(int,java.lang.CharSequence[])"]))))

现在我确保这失败了,我得到像
lein test opengltuts.core-test

FAIL in (find-method-test) (core_test.clj:14)
find-method finds all methods in list of classes
expected: (= (apply find-method "glShaderSource" gl-classes) ["ublic static void
org.lwjgl.opengl.GL20.glShaderSource(int,java.nio.ByteBuffer)" "public static void
org.lwjgl.opengl.GL20.glShaderSource(int,java.lang.CharSequence)" "public static void
org.lwjgl.opengl.GL20.glShaderSource(int,java.lang.CharSequence[])"])
actual: (not (= ("public static void org.lwjgl.opengl.GL20.glShaderSource(int,java.nio.ByteBuffer)" "public static void
org.lwjgl.opengl.GL20.glShaderSource(int,java.lang.CharSequence)" "public static void
org.lwjgl.opengl.GL20.glShaderSource(int,java.lang.CharSequence[])") ["ublic static void
org.lwjgl.opengl.GL20.glShaderSource(int,java.nio.ByteBuffer)" "public static void
org.lwjgl.opengl.GL20.glShaderSource(int,java.lang.CharSequence)" "public static void
org.lwjgl.opengl.GL20.glShaderSource(int,java.lang.CharSequence[])"]))

Ran 1 tests containing 2 assertions.
1 failures, 0 errors.
Tests failed.

我觉得这相当难以理解。而不是那样,我更喜欢输出如下:
<all that info stuff, like the name of the test>
Expected: [something]
Got: [something-else]

事实上,我很难弄清楚我在与什么进行比较。

最佳答案

clojure.test的报告可通过重新绑定(bind) clojure.test/report 来配置。功能。这在 docs for the namespace 中有描述。 .您的函数将使用一系列事件映射调用,每个事件映射代表测试运行的某个阶段。 clojure.test 中有一个生成 JUnit 兼容输出的示例。来源 here .

关于unit-testing - 是否可以调整 clojure.test 的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12787193/

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