モジュール インターフェイスに触れずにテストを公開する唯一の方法は、テストを何らかのグローバル コンテナーに登録することです。Tests
function を提供するというモジュールがある場合、次のようなものが含まれますregister
。module.ml
let some_test = ...
let () = Tests.register some_test
Tests
モジュールは実行するテストを制御できなくなるため、このアプローチはお勧めしません。
代わりに、テストをエクスポートする、つまり に追加することをお勧めしmodule.mli
ます。
OUnitに依存せずに、誰でも実行できる次のタイプのテストをエクスポートできることに注意してください。テストは次のようになります。
let test_cool_feature () =
...
主張する ...;
...
主張する ...;
真実
let test_super_feature () =
...
a = b
let テスト = [
「クールな機能」、test_cool_feature;
「スーパー機能」、test_super_feature;
]
インターフェイスは次のとおりです。
...
(**/**)
(* ocamldoc によって無視される開始セクション *)
val test_cool_feature : unit -> bool
val test_super_feature : unit -> bool
val テスト : (string * (unit -> bool)) リスト