是否有oUnit

问题描述:

我与oUnit2玩弄,我想知道test_ctxt`的`任何使用:有没有为test_ctxt参数的任何使用,如下:是否有oUnit

let test1 test_ctxt = assert_equal "x" (Foo.unity "x");; 

是似乎是多余的我。将测试定义为变量时有什么方法可以省略它吗?

+0

这是缺少它,但你可以使用'_'不要将它绑定到名称。 – antron

+0

你可以看到一些'test_ctxt'的例子[在这个答案中](http://*.com/a/29336448/409228)。 –

类型test_ctxt的值被接受为assert_commandassert_equal函数中的可选参数,这些函数是构建测试的主要基本块。测试上下文特别包含对记录器的引用,允许并行运行测试。使用你的例子一个正确的调用将是:

let test1 ctxt = assert_equal ~ctxt "x" (Foo.unit "x) 
+0

您可以添加一个使用那些允许我并行运行测试的记录器的实际示例吗? (一个例子,我可以在传递它之后使用assert_equal中的ctxt) – marmistrz

+0

你不需要对上下文做任何事情,除非将它传递给测试函数。这是库使用的抽象数据类型。测试将自动并行运行(请参阅'-runner'选项)。无论如何,这里是一个真实世界的例子,https://github.com/BinaryAnalysisPlatform/bap/blob/master/lib_test/bap_dwarf/test_leb128.ml – ivg