2015-10-15 31 views
1

我與oUnit2玩弄,我想知道test_ctxt`的`任何使用:有沒有爲test_ctxt參數的任何使用,如下:是否有oUnit

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

是似乎是多餘的我。將測試定義爲變量時有什麼方法可以省略它嗎?

+0

這是缺少它,但你可以使用'_'不要將它綁定到名稱。 – antron

+0

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

回答

1

類型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